5.2.0 Release

This PR is not ready for review.
Risk
This PR makes minor API changes.
Testing Plan

Full test plan
Run all unit tests
Additional smoke tests

Summary
See the 5.2.0 Project
Bintray / Gradle:
(These will be updated as seen fit if there are changes)
Android: implementation 'com.smartdevicelink:sdl_android:RC_5.2.0'
JavaSE: implementation 'com.smartdevicelink:sdl_java_se:RC_5.2.0'
JavaEE:  implementation 'com.smartdevicelink:sdl_java_ee:RC_5.2.0'
CLA

[x] I have signed the CLA

@JulianKast latest changes look good 👌


[Cosmos] Rename or remove folders "typings" and "types"

The folders typings and types are excluded in the root .gitignore, and I have verified we want to keep these exclusions.  Thus, Cosmos must either remove or rename these folders to be compatible with our repo:
sdk\cosmosdb\cosmos\src\typings
sdk\cosmosdb\cosmos\test\types

Typically, typings should be coming from packages rather than checked-in sources, so it may be possible to remove these folders completely.

typings folder is removed
https://github.com/Azure/azure-sdk-for-js/pull/5417


Read-Only Entities do not work

I could intenrate go-eCharger successfully - the device and 98 entities can be found.
But only the switches are available, all read-only entities are not available and the sensors could not be read.

Do I miss something or does this just not work with the latest firmware? I'm using 054.7., the hardware number is V3.

You device is supported in general. Could you verify some details:

Make sure the MQTT component is loaded and conected to your MQTT broker.
Go to Settings -> Devices -> MQTT -> configure and use the Listen to a topic section. Do you know the topic prefix of your device? If I start listening to /go-eCharger/072246/fhz I see something like this:

Message 7 received on /go-eCharger/072246/fhz at 8:23 AM:
50.05
QoS: 0 - Retain: false
Message 6 received on /go-eCharger/072246/fhz at 8:23 AM:
49.931
QoS: 0 - Retain: false

Thank you for your fast response!
I just checked this. I get no message.
Perhaps there is something wrong how I've integrated the device?
The other ZigBee devices are working well - Integration is MQTT in comparison to go-eCharger (MQTT). This is the only difference I can see.

Just played around again, but could not find a solution.
I have 4 MQTT-Devices (ZigBee) as you can see in the screenshot of my last message.
The Mosquito Broker (MQTT) seems only to see these 4 devices. The go-eCharger has its own integration entry. Is this okay? I'm very new to all this stuff therefore, I think, that there must be an error on my side configuring the go-eCharger.

Please update your charger to 054.9 and double check the MQTT broker configuration at your Android app. What do you use here?

Okay, I think I found a reason. The protocol output from the Mosquitto Broker shows an error.

2022-12-08 18:27:51: New connection from <IP_ADDRESS>:58324 on port 1883.
2022-12-08 18:27:51: Client  disconnected, not authorised.

The password I've set in the Mosquitto Url in the go-E Android app is the one for my homeassistant admin.
It looks like mqtt://user:pw@192.168.x.x:1883
I saw that there were some changes in the firmware, but I'm not able to activate 0.54.9 Beta. I will keep you updated - the fault seems to be on my site - sorry for stealing your time!

It works now. I did the last firmware update and re-checked my configuration.
Can be closed - thank you!


Don't disconnect resource pools in refresh_new_target

When saving a new VM using the legacy refresh_new_target we rely on not deleting records that aren't related to the new target for this to work.
The save_resource_pools_inventory method was incorrectly assuming that not setting target = ems and then later checking target == ems (aka a full refresh) to see what it should delete, but in the case of refresh_new_target the target is already the ems so every resource pool except the one the VM was on was being deleted.
refresh_new_target is destined to go away (https://github.com/ManageIQ/manageiq/issues/19999) but this fixes it in the short term.


Added support for Supabase v2

This PR adds support for Supabase v2. The supabase-js API has changed and the Replicache poke no longer works.
I also took the liberty to use rimraf instead of rm -rf in the build script since rm is not available on Windows.

Oops I see there is a PR for that already!


Paris Conference on Open Research Information

From the announcement email

We are delighted to announce the Paris Conference on Open Research Information, a two-day conference for signatories and supporters of the Barcelona Declaration on Open Research Information. The conference will take place on September 23-24, 2024 and will be hosted by Sorbonne University in Paris.
Aims of the conference
A large number of organizations that carry out, fund, and evaluate research have signed the Barcelona Declaration. These organizations have committed (1) to make openness the default for the research information they use and produce, (2) to work with services and systems that support and enable open research information, (3) to support the sustainability of infrastructures for open research information, and (4) to support collective action to accelerate the transition to openness of research information.
To support signatories of the Barcelona Declaration in fulfilling their commitment to open research information, the Paris Conference on Open Research Information has two aims:

To provide a forum for sharing experiences and good practices regarding open research information.
To develop a joint roadmap for open research information.

Program
The Paris Conference on Open Research Information will take place on September 23-24, 2024.
The first day of the conference will feature talks about open research information by signatories and supporters of the Barcelona Declaration. The organizers of the Declaration will also provide updates on the most recent developments related to the Declaration.
The second day of the conference will be used to develop a joint roadmap for open research information. More information about the development of this roadmap will be shared with the conference participants prior to the conference.
Venue
The Paris Conference on Open Research Information will be hosted by Sorbonne University, one of the initial signatories of the Barcelona Declaration. The conference will take place on the Pierre and Marie Curie Campus in Paris’ 5th arrondissement. Online participation will be facilitated for all plenary sessions.
Registration
Use this form to register for the Paris Conference on Open Research Information, either for on-site or for online participation. Registration is open for staff members of organizations that are signatories or supporters of the Barcelona Declaration. Because of space constraints at the conference venue, we are able to welcome at most two people per organization for on-site participation.
The conference has space for a limited number of participants affiliated with organizations that have not yet signed the Barcelona Declaration but that are considering signing it. If you would like to attend the conference but your organization has not yet signed the Declaration, we invite you to provide a brief motivation in the registration form explaining how you expect your participation in the conference will help promote open research information in your organization. By July 15 we will inform you whether we are able to welcome you at the conference.
Registration is free or charge thanks to generous support by Sorbonne University. We kindly request you to register by July 10 at the latest.
Contributing a talk
If you are interested in contributing a talk on the first day of the Paris Conference on Open Research Information, we invite you to send a short abstract of your proposed talk (about 250 words) to<EMAIL_ADDRESS>(deadline: July 10). In your abstract, please explain how your talk will help signatories of the Barcelona Declaration to fulfill their commitment to open research information.
Your talk should take at most 15 minutes. It will be followed by 10 minutes for questions and discussion. Both on-site and online talks will be facilitated. By August 1 we will inform you whether we are able to include your proposed talk in the conference program.
Organizing committee
Amelie Church (Sorbonne Universite)
Bianca Kramer (Sesame Open Science)
Cameron Neylon (Curtin Open Knowledge Institute)
Nees Jan van Eck (CWTS, Leiden University)
Ludo Waltman (CWTS, Leiden University)

Putting this hackmd here for reference for now, and for sprucing later 🙂


Call creates new instance of Client everytime

Hello,
For debug purposes I wanted to get the last request back.
This code would work in principle:
$this->soapWrapper->client('SOAPServiceName', function ($client) {
    $dom = new \DOMDocument();
    $dom->preserveWhiteSpace = false;
    $dom->formatOutput = true;
    if (empty($client->getLastRequest())) {
        \Log::debug('SOAPServiceName.FunctionName getLastRequest is empty.');
    } else {
        $dom->loadXML($client->getLastRequest());
        \Log::debug('SOAPServiceName.FunctionName'."\n".$dom->saveXML());
    }
});

But the problem is, that I always get a fresh Client instance.
I think I found the solution (at least it works for me).
SoapWrapper.php > public function client
Change
      if (!$client instanceof SoapClient) {
        $client = new Client($service->getWsdl(), $service->getOptions());
      }

to
      if (!$client instanceof SoapClient) {
        $client = new Client($service->getWsdl(), $service->getOptions());
        $service->client($client);
      }

Now the Client instance, which is implicitly created by public function call, is stored to the service and is found the next time call, or client is accessed.
With kind regards,
Philipp

Added a pull request: #81

Please try version <IP_ADDRESS>.

I'm sorry, how can I verify that composer loaded <IP_ADDRESS> because in SoapWrapper it is still
            if (is_null($service->getClient())) {
                $client = new Client($service->getWsdl(), $service->getOptions());
            } else {
                $client = $service->getClient();
            }

instead of
            if (is_null($service->getClient())) {
                $client = new Client($service->getWsdl(), $service->getOptions());
                $service->client($client);
            } else {
                $client = $service->getClient();
            }


Limit characters that can be used in Tags to be the same as component names

https://github.com/OAI/OpenAPI-Specification/discussions/2930#discussioncomment-4246927

@darrelmiller  - I think this needs to move to a discussion right?

I have migrated the linked discussion to the sig-moonwalk repo, so we can close this now.


fb.python, import matplotlib.pyplot segfault

@AaronJackson I am getting this.
"Fatal Python error: GC object already tracked
[1] 25262 segmentation fault (core dumped) th test.lua"
where test.lua is file that I made by running one by one every line of utils.lua file.
I found out that "import matplotlib.pyplot as plt" causes this and no matter what I do this just stays same.
Sometimes it also gives
"Fatal Python error: ceval: tstate mix-up
[1] 25302 abort (core dumped) th test.lua"
I have also tried "https://github.com/1adrianb/thpp" but still no good.
I am on cuda 8.0 and cudnn is libcudnn.so.7.
I can also import all require torch packages like cunn, cudnn.

function FaceDetector:detect(img)
print("detections:",detections)
print(type(detections))

detections:	[array([117, 142, 340, 365])]
userdata
detectedfaces	[array([117, 142, 340, 365])]

how to get data


HIVE-26865 : Fix TestSQL11ReservedKeyWordsNegative test in branch-3

HIVE-26865:  Tests are failing due to this commit - https://issues.apache.org/jira/browse/HIVE-21293. So reverting it for now. After fixing these tests also the branch-3 won't turn green. So to compare whether they have been fixed or not we can refer this http://ci.hive.apache.org/blue/organizations/jenkins/hive-precommit/detail/PR-3850/1/tests/ pipeline where they were failing in branch-3.
I am open to discuss whether there is a fix for this or is it okay to revert this commit for the test to go through.

@abstractdog Kindly review this and we can discuss the fix or revert this accordingly.

please let's not revert HIVE-21923, it has fixed an issue and refactored an awful test class
if we're sure that it cause the exception:
In TestSQL11ReservedKeyWordsNegative, this is also failing. Kindly have a look :
java.lang.NullPointerException: Conf non-local session path expected to be non-null
at com.google.common.base.Preconditions.checkNotNull(Preconditions.java:228)
at org.apache.hadoop.hive.ql.session.SessionState.getHDFSSessionPath(SessionState.java:822)
at org.apache.hadoop.hive.ql.Context.<init>(Context.java:312)
at org.apache.hadoop.hive.ql.Context.<init>(Context.java:298)
at org.apache.hadoop.hive.ql.parse.TestSQL11ReservedKeyWordsNegative.parse(TestSQL11ReservedKeyWordsNegative.java:52)
at org.apache.hadoop.hive.ql.parse.TestSQL11ReservedKeyWordsNegative.access$000(TestSQL11ReservedKeyWordsNegative.java:40)
at org.apache.hadoop.hive.ql.parse.TestSQL11ReservedKeyWordsNegative$TestSQL11ReservedKeyWordsNegativeParametrized.testNegative(TestSQL11ReservedKeyWordsNegative.java:104)

let's fix it, let me take a look

@amanraj2520 : the only thing that failed on my side was REAL keyword, after I removed it, test passed:
https://github.com/abstractdog/hive/commit/09471bae5e2ad4117e7f183753c9ac3155cc829b
were you able to reproduce the checkNotNull error?

Hi @abstractdog Yes I also could not reproduce the checkNotNull error in my local. I only got the REAL issue you talked about. Let me try reproducing it again. But you can see the Jenkins pipeline, for the error. When I reverted it back, the Jenkins pipeline had also passed. But still let me repro this error

fixed in https://github.com/apache/hive/pull/3869

Thanks a lot @abstractdog for taking care of this fix and merging it.


How to custom camera width?

Issue Description
Hi everyone, I am using react native camera kit and I can not change width of camera, it is always fullscreen.
Anyone have solution? Very thanks!!!

A fix has since been added that should allow correct sizing. Closing due to inactivity


No match page

feature/#15-nomatch

if the route doesn't match any of the other path's, get a 404


Guidelines for cross-reference types

Splitting this discussion from
https://github.com/geneontology/go-ontology/issues/28558#issuecomment-2527291242
We want to have guidelines for cross-reference types, in particular narrow versus related.
We have some guidelines here: https://wiki.geneontology.org/Guidelines_for_database_cross_references#Exact,_broad,_narrow_general_database_cross_references but they could be more precise.
Related cross-references:
I propose that at least cross references that refer to gene products, such as proteases
GO:0008239 dipeptidyl-peptidase activity.
xref: EC:<IP_ADDRESS> {source="skos:narrowMatch"} : dipeptidyl-peptidase I
xref: EC:<IP_ADDRESS> {source="skos:narrowMatch"}: Xaa-Pro dipeptidyl-peptidase
xref: EC:<IP_ADDRESS> {source="skos:narrowMatch"}: dipeptidyl-peptidase II
(etc), be related synonyms, as these refer to gene products that have different substrate preferences.
Narrow cross-references:

If the EC or RHEA only differs by the hydrogen donoe/acceptor (NAD versus NADP), then the cross-reference is narrowMatch.
If the enzyme is specific for several substrates, and there is no single reaction in th eexternal database representing the same enzyme specificity, the cross-reference type is narrow. For example: GO:0047429 'nucleoside triphosphate diphosphatase activity' has these 2 narrowMatches RHEA cross references:

RHEA:23996 a ribonucleoside 5'-triphosphate + H2O = a ribonucleoside 5'-phosphate + diphosphate + H+
and

RHEA:44644 a 2'-deoxyribonucleoside 5'-triphosphate + H2O = a 2'-deoxyribonucleoside 5'-phosphate + diphosphate + H+

@sjm41 Please add any suggestions. We can discuss this on today's ontology call.
Thanks, Pascale

It's worth explicitly saying that the EC xref example extends to the MetaCyc xref equivalents.
e.g. Both EC:<IP_ADDRESS> and MetaCyc:<IP_ADDRESS>-RXN would be relatedMatch

Edited my initial comment to include the MetaCyc example


Missing script

I'm submitting a bug report

Operating System:
Windows [10]

Node Version:
7.8.0

NPM Version:
4.4.4

Current behavior:
C:\Projetos\ux
λ  npm run test-watch
npm ERR! missing script: test-watch

npm ERR!      C:\Users\alber\AppData\Roaming\npm-cache\_logs\2017-04-17T14_43_23_181Z-debug.log

What is the expected behavior?

Run the test-watch npm script

@ZHollingshead I think this is just a typo. Can you confirm?

@EisenbergEffect I am trying to run to see those components visually, how can I walk through for those components in browser?

That is correct. There is no test-watch command. Our build commands mirror Aurelia/Validation.
To run tests:
npm run test

To run tests in watch mode:
npm run develop

These will not prove very useful though, currently as there is no test directory and therefore no tests to pass or fail.

@AlbertoMonteiro to see the components visually take a look at https://github.com/aurelia/app-ux-showcase
The instructions to get the showcase up and running are in the readme.md on the main page. I hope this helps!

@ZHollingshead I already downloaded this repo, it works fine, but how is the best way to test my new component that I am creating in AureriaUX?
The app-ux-showcase points to npm package, I am working localy.
I am new in aurelia plugin development, so I dont know those best practices.

@AlbertoMonteiro so to develop for both of them here is what I do.
First, make sure your aurelia-ux and aurelia-ux-showcase folders are in the same directory. Something like:
|-Development
  |- Aurelia
    |- ux
    |- app-ux-showcase

Once this is done and both projects are set up, when you make new changes run au update-ux from the showcase application. This will copy the built aurelia-ux files into the correct npm folder.
Before you build, make sure you add any html or css files you will be using to the aurelia_project/aurelia.json file. To do this, open the aurelia.json file and scroll down until you see the following entry.
{
  "name": "aurelia-ux",
  "path": "../node_modules/aurelia-ux/dist/amd",
  "main": "index",
  "resources": [
    "./button/ux-button.html",
    "./button/ux-button-theme.css",
    "./input/ux-input.html",
    "./input/ux-input-theme.css",
    "./input-info/ux-input-info.html",
    "./input-info/ux-input-info-theme.css",
    "./textarea/ux-textarea.html",
    "./textarea/ux-textarea-theme.css",
    "./form/ux-form.html",
    "./form/ux-form-theme.css",
    "./form/ux-field.html",
    "./form/ux-field-theme.css",
    "./chip-input/ux-chip-input.html",
    "./chip-input/ux-chip-input-theme.css",
    "./chip-input/ux-chip.html",
    "./chip-input/ux-chip-theme.css",
    "./chip-input/ux-tag.html",
    "./chip-input/ux-tag-theme.css",
    "./effects/paper-ripple.css",
    "./checkbox/ux-checkbox.html",
    "./checkbox/ux-checkbox-theme.css"
    // add your files here
  ]
},

Once you have done this you can run the following command to run the showcase and see if your added component works.
au run

thanks @ZHollingshead


[crosswalk-11][usecase][xwalk-3338] Add new suite for mini android

Impacted tests(approved): new 1, update 0, delete 0
Unit test platform: [Android]
Unit test result summary: pass 1, fail 0, block 0

LGTM


JSDoc: wrong parameter type for speed in AVIF output

For AVIF output, parameter speed is typed as boolean, but should be number, as is in HEIF output.
https://github.com/lovell/sharp/blob/d7d580ae6f9bada7edea941e8f2c0efdc324d793/lib/output.js#L585
Edit: also at documentation:
https://github.com/lovell/sharp/blob/master/docs/api-output.md

Good spot, thanks, PR welcome if you're able - please update the JSDoc in the source then run npm run docs-build to regenerate the markdown file.

Docs updated as part of v0.27.2, thank you.
https://sharp.pixelplumbing.com/api-output#avif


Fix return value for begin() via reset()

Calls to begin() confusingly never returned true, fix that.
Also squash warning:
.pio/libdeps/nano/HTU21D Sensor Library/src/HTU21D.cpp: In member function 'bool HTU21D::reset()':
.pio/libdeps/nano/HTU21D Sensor Library/src/HTU21D.cpp:159:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^

Looks good to me. Fixes an obvious mistake ;)


Check and cleanup codeowner files in spec repo.

Github codeowener file has report many existing issue, we should scan codeowner file and clean up legacy codeowners.

Assigned to liurunliang.

Added the PR link.
https://github.com/Azure/azure-rest-api-specs/pull/19329

This work is done.


Image  box overflow

Card box overflow's here to avoid this we can fit the image to the box.

@anushbhatia Is this issue solved because its working fine on my phone

@anushbhatia Is this issue solved because its working fine on my phone

Try using a tablet on an emulator?

On Phone

On emulator

Is this solution ok?

yes looks good

There is a UI update PR though so no point in doing this if its fixed in it


can i please pay you for a bypass

you can make one?

This is GitHub. Don't try and buy and sell stuff on here.


Selector changes everytime

Hello, I have selector at forum - #VB1269734 > img:nth-child(1)
numbers change every topic and unuqie. Can i use any syntax like  #VB* > img:nth-child(1) for click there ?

in such cases, you can use Attribute Selectors
ref. https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors
In your case something like
a[id^="VB"] > img:nth-child(1)
Assuming your Element with the id #VB1269734 is of type an anchorlink.
Make sure to test it with
document.querySelectorAll(...)
Hope this info helps.


BUG-62014 - aws, azure and gcs existing vpc TCs

@doktoric @schfeca75 @akanto pls review

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/cloudbreak-pull-request/2889/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/mock-integration-test/383/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/cloudbreak-pull-request/2890/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/mock-integration-test/384/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/cloudbreak-pull-request/2902/

Refer to this link for build results (access rights to CI server needed):
http://ci.sequenceiq.com//job/mock-integration-test/396/


The current caching strategy explained on the documentation results in ChunkLoadError

Hello,
I don't really know if this is considered a bug reports as it expand a little bit beyond webpack, so I used this "other" template. I hope it is a correct use of this template.
I have followed the guide to setup my application and define a caching strategy.
In the following deployments, I (and my users) started to get ChunkLoadError.
I seem that naming the files and chunks with [contenthash] and using code splitting (in the form of dynamic import) will cause this problem, as mentioned in this blog post.
As a solution, I removed [contenthash] from the files and chunks name, but I guess that if the id of the chunks changed, it will also cause error. Also, I don't have any cache busting solution.
Maybe the guide should be updated to reflect on the risk associated with that or maybe expended to show solution to avoid this issue completely ?
Related bug report: https://github.com/webpack/webpack/issues/7502
I hope this is not off topic, and thank you for your time.

This is not a valid solution. Why not following one of the listed solutions in the blog post you linked. They are all valid.

This is temporary fix (most of the team is unavailable) but I plan to implement a real long term solution in the short term.

The issue is not related to caching. I will occur without long term caching optimization too.  So this is a general issue.

Yes this is a bit off topic, I'm sorry

Maybe the documentation need a guide regarding deploying application.

That would be fantastic! Webpack is an amazing tool and the documentation is great, I can't thank you and everyone enough for it.
Thank you for your response !


Is there a way to Mazimize the app window?

I tried browser.maximizeWindow(), but I'm getting an error saying unknown command.
Is there anyway to maximize the app?

Only by executing an AppleScript snippet or locating and clicking the Maximise button as a vanilla user could do it. XCTest does not provide any direct APIs for such action.


Remove build and push of phenopackets/kidsfirst images

We don't need to build and push separate images for each of these servers anymore. Now we can build one image and pass in runtime environment variables to point the dashboard to the FHIR server. This was implemented in #82

We still need to remove build and push of the Kids First demo server running in dev on the single EC2.


ModuleNotFoundError: No module named 'shapely'

Note that after installation and when trying to render (MacOS M2), I received this error:
Traceback (most recent call last):
  File "/Users/matt/prj/VectorFusion-pytorch/run_painterly_render.py", line 113, in <module>
    main(args, seed_range)
  File "/Users/matt/prj/VectorFusion-pytorch/run_painterly_render.py", line 44, in main
    from pipelines.painter.VectorFusion_pipeline import VectorFusionPipeline
  File "/Users/matt/prj/VectorFusion-pytorch/pipelines/painter/VectorFusion_pipeline.py", line 17, in <module>
    from methods.painter.vectorfusion import LSDSPipeline, LSDSSDXLPipeline, Painter, PainterOptimizer
  File "/Users/matt/prj/VectorFusion-pytorch/methods/painter/vectorfusion/__init__.py", line 8, in <module>
    from .painter_params import Painter, PainterOptimizer
  File "/Users/matt/prj/VectorFusion-pytorch/methods/painter/vectorfusion/painter_params.py", line 11, in <module>
    from shapely.geometry.polygon import Polygon
ModuleNotFoundError: No module named 'shapely'

The following seems to have resolved things:
conda install -c conda-forge shapely

Yes, we neglected to remember this dependency. Thank you for reminding us！
or
pip install shapely


Remove Comment.permalink()

Fixes #856.
Feature Summary and Justification
This fix just removes the Comment.permalink() method. Tests may fail, but I did my best to remove the now-unnecessary tests.
This PR and #857 are two different ways of fixing PRAW. Both should not be merged.

Thanks!


how to set max.poll.interval.ms

how to set the value of max.poll.interval.ms

Sarama
Kafka
Go

1.26.1
<IP_ADDRESS>
1.13.7

I'm also interested in this

@NessGo  Sarama has MaxProcessingTime as a config parameter similar to the Java client's max.poll.interval.ms https://github.com/IBM/sarama/blob/d2dba29e9545c5af80169e541b1170c3dd34b3b9/config.go#L391-L408
It is a locally enforced client timeout and is separate from the heartbeat to the server which keeps the session alive. See "Decoupling the processing timeout" in KIP-62


Inconsistent behavior with SCSS module :exports syntax between dev & build

Describe the bug
SCSS modules have a little-known (and, at times under-supported) syntax for exporting variables...
$backgroundColor: red;

.myClass {
  background: $backgroundColor;
}

:exports {
  backgroundColor: $backgroundColor;
}

Such that when I import that module into JavaScript...
import styles from "./the-above.module.scss";

styles.myClass; // value is: autogenerated class name
styles.backgroundColor // value is: "red"

It's been stated in the response to issue #1279 that this is not a syntax that is supported, however it is supported in dev while it's not supported in build. In build, styles.backgroundColor is just undefined. This bug filing is on the ground that there's an inconsistency between dev and prod builds. While I'd like to see the feature supported, I also understand that it's not on the intended road map.
Reproduction
https://stackblitz.com/edit/vitejs-vite-cwirby?file=test.module.scss,main.js
System Info
System:
    OS: macOS 12.3.1
    CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
    Memory: 14.91 GB / 32.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.17.0 - ~/.nvm/versions/node/v14.17.0/bin/node
    Yarn: 1.22.10 - ~/.nvm/versions/node/v14.17.0/bin/yarn
    npm: 7.19.1 - ~/.nvm/versions/node/v14.17.0/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 101.0.4951.64
    Chrome Canary: 104.0.5081.0
    Firefox Developer Edition: 96.0
    Safari: 15.4

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

@sapphi-red my apologies! I am indeed having this bug but in the real example, the SCSS module is coming from a dependency that is built as CommonJS!
So I think the problem is actually with dev/build inconsistencies coming through @originjs/vite-plugin-commonjs
My apologies, and I will withdraw


"Azure AD Connect Cloud provisioning agent" vs "Azure AD Connect"

[Enter feedback here]
Will this "Azure AD Connect Cloud provisioning agent" replace "Azure AD Connect" application? It seems doesn't have any configuration on the agent side, wondering how do I change options like password write back ?

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

ID: 6cd93860-f61c-4cb3-0151-a4358493c426
Version Independent ID: 9cf80fa1-adda-066b-9d28-98e098017a4a
Content: Tutorial - Integrate a single forest with a single Azure AD tenant
Content Source: articles/active-directory/cloud-provisioning/tutorial-single-forest.md
Service: active-directory
Sub-service: hybrid
GitHub Login: @billmath
Microsoft Alias: billmath

@jackchenquest
Thanks for your feedback! We will investigate and update as appropriate.

They are two separate products.

With Azure AD Connect sync, provisioning runs on the on-premises sync server. Configuration is stored on the on-premises sync server. With Azure AD Connect cloud provisioning, the provisioning configuration is stored in the cloud and runs in the cloud as part of the Azure AD provisioning service.

It's also a lot easier to manage multi-forest scenarios using the cloud provisioning agent.

https://docs.microsoft.com/en-us/azure/active-directory/cloud-provisioning/reference-cloud-provisioning-faq
Hope this helps! If you have further questions feel free to reach out on Microsoft Q&A.


Problem with receiving data can't receive after

Discussed in https://github.com/jchristn/SuperSimpleTcp/discussions/115

Originally posted by xx7Ahmed7xx February 12, 2022
Hello, I made everything working and smooth and etc, used while(client.connected) to keep client app running (console)
problem is, after receiving first command from server (data) it doesn't respond, when pausing program it stops inside the while loop like if it has taken over
help please ?
how can I make the app running but still listening to connection?
i tried running the while loop on another thread, but still doesn't respond to data received event and when pauses pauses on the while body.

Found the problem..
I just had to Enable TcpKeepAlive
client.Keepalive.EnableTcpKeepAlives = true;
and for people doing connection wise data, You can try disabling proxy and allowing many simultanous connections over http,
clientt.Proxy = null;                             ServicePointManager.DefaultConnectionLimit = 1024;
you can set anynumber but 1024 is great for my usage.


Make round trip time accessible through streaminfo

Signed-off-by: AlanDiaz<EMAIL_ADDRESS>Commit Message: Make round trip time accessible through stream info
Additional Description: Make the last round trip time of the previous handshake accessible through stream info. This will allow us to make it accessible in access logs,
Risk Level: Low
Testing: Added an integration test in filter integration test that adds roundtriptime to the header and checks if it exists
Docs Changes: NA
Release Notes:  NA
Platform Specific Features: NA
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/retest

I think it makes sense to expose this, but I'm not sure if it's a good idea to latch the value right after the connection is setup. At least on linux, the TCP_INFO syscall that provides this provides a smoothed RTT, and it may not be very smoothed right after connection setup (very few round trips at that point). Also, the RTT can vary over the life of the connection. If this is being logged on a specific http connection, we'd want to sample the RTT near-in-time to when that particular request happened. Maybe it would make more sense to latch this in Http::StreamDecoderFilter::onStreamComplete() or near that time.
/wait-any

It makes sense. The eventual goal is to log the RTT in the access log. I agree that ideally it should be done at the end of the HTTP request or TCP connection, right before access log is to be emitted. We will need to deal with the fact that H/1 requests can be framed be connection closure and at this point RTT may not be available but this may be too far of an edge case.
Would it be ok if these additional samples are implemented in a follow-up PR, to make it easier to iterate on this change?

Would it be ok if these additional samples are implemented in a follow-up PR, to make it easier to iterate on this change?

I think a lot of the code in this PR will have to be changed/reverted to get to that solution, so if we agree that we should change to sampling sometime during the request (beginning or end of request probably) then I'm not sure it makes sense to merge this as-is.

Would it be ok if these additional samples are implemented in a follow-up PR, to make it easier to iterate on this change?

I think a lot of the code in this PR will have to be changed/reverted to get to that solution, so if we agree that we should change to sampling sometime during the request (beginning or end of request probably) then I'm not sure it makes sense to merge this as-is.

Hmm, do you have a different approach for making RTT accessible in StreamInfo? I did not think we will need to change much, since both HCM or FilterManager or TCP proxy have access to the Network::Connection that had ConnectionInfoSetter and the ' lastRoundTripTime. It can be optimized a bit by adding the recordLastRoundTripTime` method to Network::Connection in the ConnectionInfoProvider, but I would not think we will need to redesign the existing code. We still want to record the RTT from TCP handshake in case connection fails right after that.

Hmm, do you have a different approach for making RTT accessible in StreamInfo? I did not think we will need to change much, since both HCM or FilterManager or TCP proxy have access to the Network::Connection that had ConnectionInfoSetter and the ' lastRoundTripTime. It can be optimized a bit by adding the recordLastRoundTripTime` method to Network::Connection in the ConnectionInfoProvider, but I would not think we will need to redesign the existing code. We still want to record the RTT from TCP handshake in case connection fails right after that.

I agree that accessing it via stream_info through the ConnectionInfoProvider is the right place to put it. But when it is latched from a different place, the changes in this PR to proxy protocol tests and active_tcp_listener will need to be reverted, which by number-of-lines is about half of the PR.

/retest


proposal: spec: when unifying against interface types, consider common methods

Background
Currently, type inference fails when trying to unify two interfaces of different type, or an interface and a non-interface type, even though the respective types may have the correct methods and type sets if they could be unified somehow.
Example 1 (see #57192)
type I1[T any] interface {
	m1(T)
}
type I2[T any] interface {
	I1[T]
	m2(T)
}

var V1 I1[int]
var V2 I2[int]

func g[T any](I1[T]) {}
func _() {
	g(V1)
	g(V2) // ERROR type I2[int] of V2 does not match I1[T] (cannot infer T)
}

In this case, I2 implements I1 if the type parameters T of I1 and I2 could be inferred to be int. Currently (Go 1.20) the compiler reports an error in this case.
Example 2 (see #41176):
type S struct{}

func (S) M() byte {
	return 0
}

type I[T any] interface {
	M() T
}

func f[T any](x I[T]) {}

func _() {
	f(S{}) // ERROR type S of S{} does not match I[T] (cannot infer T)
}

In this case, S implements I if the type parameter T of I could be inferred to be byte. Currently (Go 1.20) the compiler reports an error in this case.
The problem in the first case is that unification requires matching interfaces to be identical or from the same type declaration. The problem in the second case is that unification fails if the two types being compared (interface vs struct) are not of the same kind.
This does not accurately reflect Go's assignment rules for interfaces.
Proposal
We propose to change the type inference rules such that when interfaces are involved, type unification considers Go's assignment rules for interfaces. Specifically:

Two interfaces unify if they have identical type terms and methods common to (i.e., shared by) both interfaces unify.
An interface I and a non-interface type T unify if all the methods of I exist in T and unify.
For two defined types where one of the underlying types is an interface, use rule 2) to unify the underlying types.

When unifying two defined types that are both interfaces originating in the same type declaration, use the current unification approach (type parameters must unify); i.e. there's no change in this case.
This is the entire proposal.
Discussion
The proposed changes are fully backward-compatible: the only case to consider is the unification of two interfaces (unifying an interface against a non-interface always failed in the past). In Go 1.20, two unnamed interfaces unify only if they have identical type terms, the same number of methods, and all methods unify. The proposed new rule will succeed in this case as well.
We don't change the existing behavior when unifying two defined types that are both interfaces originating in the same type declaration: first of all, the methods will unify if the type arguments unify (it's the same interface), but we also want to preserve existing behavior when type parameters are not used:
type T[_ any] any

func f[P any](T[P]) {}

func _() {
	var x T[string]
	f(x)
}

In this case we want to infer the type argument for P to be ~int~ string (as we do now). If we were only considering methods, this code would not work anymore.
Currently, if we try to unify two different interfaces, unification fails. With the proposed new rules, two different interfaces unify if they have a (possibly empty) set of common (i.e., with the same name) methods that unify. This may not be sufficient but if the types are compatible (e.g. in assignment), it is a necessary condition. If the common methods do not unify, the interfaces are neither identical nor assignable.
Similarly, when unifying a non-interface type T with an interface I, at the very least T must implement all the methods of I; i.e. they must exist and they must unify. There are additional restrictions with respect to the type set but it's ok to ignore them for now (see next paragraph).
The proposed changes allow us to infer additional type arguments where unification (and thus type inference) currently fails immediately. It is still possible that the inferred type arguments lead to invalid instantiations and invalid parameter passing/assignments, in which case we will fail later.
Implementation
We have implemented this proposal (CL 497015). It can be enabled by setting a configuration flag in the type checker.
It is rather late in the Go 1.21 dev cycle but we still hope to enable this feature in the compiler for Go 1.21. As the change is targeted, controlled by a flag, and only affecting type inference, we believe this is a very safe change to make, even at this late stage.
Should this proposal not be accepted or should we run into problems during the freeze, we will disable the feature by setting the respective flag to false.
cc: @ianlancetaylor @findleyr for visibility

In this case we want to infer the type argument for P to be int

I think you mean string rather than int.

Two interfaces unify if they have identical type terms and methods common to (i.e., shared by) both interfaces unify.

This implies that two non-empty interfaces with no methods in common will unify.  Is that useful?  We won't be able to assign a value of one interface type to the other interface type.  At least at the top level, this means that a function call can't work.
Should the rule instead be that one interface must have a subset of the methods of the other, and the common methods must unify?  Or are there cases where requiring a subset will cause inference to fail unreasonably?

Agreed that requiring a subset would be better. The proposed rule is simpler but may produce false positives (that then lead to an error later). The subset approach doesn't cause any problems with existing code and tests. Will update.

This proposal has been added to the active column of the proposals project
and will now be reviewed at the weekly proposal review meetings.
— rsc for the proposal review group

Based on the discussion above, this proposal seems like a likely accept.
— rsc for the proposal review group

No change in consensus, so accepted. 🎉
This issue now tracks the work of implementing the proposal.
— rsc for the proposal review group

This has been implemented and documented in the spec for Go 1.21.
Closing.


[🐛 Bug] port.multicast.mode.get() and port.multicast.mode_extended.get() generate errors

PROBLEM FOUND!
It actually has nothing to do with push notification. If you query the multicast mode, you will get the same error as the customer sees. I think the xenaserver of the customer still pushes the multicast info to the client while the latest one not. But the root cause is indeed in the xoa-driver.
Either of these two are generating the error! 😄

The issue only presents on mode_extended the structure which is defined in xoa_driver is not match the packet we receive.
Sims like the definition of structure in driver suppose to be:
        ipv4_multicast_addresses: XmpField[xt.XmpIPV4AddressListStopToKeep4] = XmpField(xt.XmpIPV4AddressListStopToKeep4)
        operation: XmpField[xt.XmpByte] = XmpField(xt.XmpByte, choices=MulticastExtOperation)
        second_count: XmpField[xt.XmpByte] = XmpField(xt.XmpByte)
        period: XmpField[xt.XmpByte] = XmpField(xt.XmpByte) # <- value missing
        igmp_version: XmpField[xt.XmpByte] = XmpField(xt.XmpByte, choices=IGMPVersion)

After checking the server code sims like it is a multicastperiod but better to check that with the guys...


Invalid Validation by before Rule

The before rule seems not to be validating properly. And I've traced the issue to this line: https://github.com/adonisjs/validator/blob/aded92080371ea5c12070236e2b159cb07a1c264/src/Validations/date/helpers/offset.ts#L33
The duration should be added to the current date before checking if the provided date is before the maximum allowable date.
Package version
"@adonisjs/core": "^5.9.0"
Node.js and npm version
Node v14.21.1
NPM v9.1.2
Sample Code (to reproduce the issue)
This is the sample of the request made:
const response = await client
        .post(route('user_api_tokens.store'))
        .loginAs(loginUser)
        .form({
          name: 'Awesome API token',
          expires_in: DateTime.now().plus({ years: 1 }).toISODate(),
        })

This is the validation schema:
{
        name: schema.string.optional([rules.trim(), rules.stripTags(), rules.maxLength(50)]),
        expires_in: schema.date({ format: 'iso' }, [
          rules.before(2, 'years'),
          rules.after('today'),
        ]),
      }

And this is the response:
'{"errors":[{"rule":"before","field":"expires_in","message":"before validation failed on expires_in","args":{"before":"2021-05-11T20:30:32.922+01:00"}}]}',

As seen, the compiled date for the before arg is 2 years behind.
Changing https://github.com/adonisjs/validator/blob/aded92080371ea5c12070236e2b159cb07a1c264/src/Validations/date/helpers/offset.ts#L33 to plus fixes the issue.

Isn't it working correctly? I will use some absolute numbers to make the conversation easy to understand.

Given, today is "12th May, 2023".
The rule.before(2, 'years') says, the date should be before "12th May, 2021". As per this rule:

"11th May, 2021" is correct.
"11 November, 2020" is correct
"1st Jan, 1990" is correct

What you are sending in the request is "12th May, 2022". Which is not before 2 years.

Closing since no answer from issue reporter.


设计稿sketch文件

Describe the bug
设计稿sketch文件一直没更新是否安排一份最新的同步上来
Steps to reproduce
设计稿sketch文件一直没更新是否安排一份最新的同步上来
Link to minimal reproduction
设计稿sketch文件
System Info
设计稿sketch文件一直没更新是否安排一份最新的同步上来

Used Package Manager
npm
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion.
[X] The provided reproduction is a minimal reproducible example of the bug.

duplicate   https://github.com/tusen-ai/naive-ui/issues/5607


firefox sync-server service: make path to paster executable absolute

The systemd service fails because the path to the paster executable is not absolute:
[/nix/store/2g3a3d09pwjlih4llad2lcymjd78szzk-unit-syncserver.service/syncserver.service:13] Executable path is not absolute, ignoring: paster serve /nix/store/r9r63q9lfhib4h5i8kvc4jg6sb4ap6l7-syncserver.ini
syncserver.service lacks both ExecStart= and ExecStop= setting. Refusing.

The service works after making the path to the paster executable absolute. Tested on nixos-unstable.

cc @nbp

Thanks for doing this modification, I admit that I mostly tested it without systemd and that I was expecting it to work.  I noticed this issue but never uploaded the patch, thanks for doing it :)
If you have any issue with the sync server, feel free to ask.


[SPARK-35369][DOC] Document ExecutorAllocationManager metrics

What changes were proposed in this pull request?
This proposes to document the available metrics for ExecutorAllocationManager in the Spark monitoring documentation.
Why are the changes needed?
The ExecutorAllocationManager is instrumented with metrics using the Spark metrics system.
The relevant work is in SPARK-7007 and SPARK-33763
ExecutorAllocationManager metrics are currently undocumented.
Does this PR introduce any user-facing change?
This PR adds documentation only.
How was this patch tested?
na

ok to test

Thanks @dongjoon-hyun


Fix simple calculation mistake in Belt.Array.map code example

Hello 😄
The current code example of Belt.Array.map has simple calculation error.

So I changed f from (x) => x + 1 to (x) => x + 2.

Thanks!


Package installation fails with Received an unexpected EOF or 0 bytes from the transport stream

Several packages fail with "Received an unexpected EOF or 0 bytes from the transport stream" error.  The following packages always fail:
tortoisesvn <IP_ADDRESS>492
autoit.install <IP_ADDRESS>
putty.portable 0.71
vlc 3.0.6
winscp.install 5.15
autohotkey.portable <IP_ADDRESS>
gimp 2.10.8
fiddler 5.0.20182.28034
HxD <IP_ADDRESS>
openvpn.fireeye <IP_ADDRESS>90314
commandovm.win10.config.fireeye <IP_ADDRESS>
This occurs on a clean Windows 10 VM created from this ISO: Win10_1809Oct_v2_English_x64
For each one, you can see the package downloading from 0% to almost 100%. Something must fail and it retries the download, going from 0% to 90-ish%.  Then the failure is registered in the command window.  For instance:
Progress: Downloading openvpn.fireeye <IP_ADDRESS>90314... 91%                                                            openvpn.fireeye not installed. An error occurred during installation:
Received an unexpected EOF or 0 bytes from the transport stream.
I see this in the boxstarter log file:
openvpn.fireeye is not installed. Installing...
[NuGet] Attempting to resolve dependency 'chocolatey (â‰¥ 0.10.8)'.
openvpn.fireeye not installed. An error occurred during installation:
Received an unexpected EOF or 0 bytes from the transport stream.
openvpn.fireeye package files upgrade completed. Performing other installation steps.
No package information as package is null.
No package information as package is null.
No package information to save as package is null.
No package information to save as package is null.
Sending message 'HandlePackageResultCompletedMessage' out if there are subscribers...
The upgrade of openvpn.fireeye was NOT successful.
openvpn.fireeye not installed. An error occurred during installation:
Received an unexpected EOF or 0 bytes from the transport stream.
Chocolatey upgraded 0/1 packages. 1 packages failed.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Failures

openvpn.fireeye (exited 1) - openvpn.fireeye not installed. An error occurred during installation:
Received an unexpected EOF or 0 bytes from the transport stream.
Sending message 'PostRunMessage' out if there are subscribers...
[2019-03-31T15:25:37.6996320-07:00:::PID 7848] Boxstarter: restoring current directory location to C:\Windows\system32
VERBOSE: Boxstarter: restoring current directory location to C:\Windows\system32
[2019-03-31T15:25:37.6996320-07:00:::PID 7848] Boxstarter: Exit Code: 1
VERBOSE: Boxstarter: Exit Code: 1
Chocolatey reported an unsuccessful exit code of 1. See C:\Users\tonyk\AppData\Local\Boxstarter\boxstarter.log for details.
[2019-03-31T15:25:37.7152552-07:00:::PID 7848] + Boxstarter finished Calling Chocolatey to install openvpn.fireeye. This may take several minutes to complete... 00:03:46.7459448
[2019-03-31T15:25:37.7152552-07:00:::PID 7848] + Boxstarter finished Calling Chocolatey to install openvpn.fireeye. This may take several minutes to complete... 00:03:46.7459448

Boxstarter finished Calling Chocolatey to install openvpn.fireeye. This may take several minutes to complete... 00:03:46.7459448
[2019-03-31T15:25:37.7309341-07:00:::PID 7848]

[2019-03-31T15:25:37.7465312-07:00:::PID 7848] ExitCode: 1
ExitCode: 1
Failed to install openvpn.fireeye

I am having this same issue, and the installer just keeps looping and trying to install tortoisesvn, python3 upgrade, and vlc.

Folks, can you confirm that you do not have any networking issues?
Also, if you are connected to your corporate VPN, or if your host system has any end point software, these security software may block the download thinking they are malicious and only provide an empty file.

@htnhan I have no network issues, and no software interfering. it seems to have an issue with python, it has tried grabbing it for over an hour now with no success.

Can confirm this issue also

@htnhan I'm not on a VPN, and I just disabled my host Kaspersky, so I don't have anything running.  I reran the installer, and the same packages failed.  I did see that it picked up the new version of cyberchef and successfully installed that.  But my set of failing packages still fail in the same way.  Note that when I reran the installer several times, it always fails with the exact same set of packages.  The majority of the packages downloaded and installed fine.

I'm in the same boat as @tonykarre I also use Kaspersky and have it disabled running the script. same packages fail for me as well, but the majority are g2g

@machGhosTine @tonykarre Can you try manually downloading a package to test for EOF? Go to Chocolatey, type the name of the package, and look for the download link on the left-hand side. Here's the link for TortoiseSVN: https://chocolatey.org/api/v2/package/tortoisesvn/<IP_ADDRESS>492
If this works, also try manually installing it using an admin PowerShell prompt via: choco install tortoisesvn
Hopefully this will help narrow down the issue

Manual downloading of tortoisesvn was successful using Edge.  I was also able to manually install it manually:
PS C:\Windows\system32> choco install tortoisesvn
Chocolatey v0.10.13
Installing the following packages:
tortoisesvn
By installing you accept licenses for the packages.
Progress: Downloading tortoisesvn <IP_ADDRESS>492... 100%
tortoisesvn v<IP_ADDRESS>492 [Approved]
tortoisesvn package files install completed. Performing other installation steps.
Installing 64 bit version
Installing tortoisesvn...
tortoisesvn has been installed.
tortoisesvn may be able to be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
see the changes (or in powershell/cmd.exe just type refreshenv).
The install of tortoisesvn was successful.
Software installed as 'msi', install location is likely default.
Chocolatey installed 1/1 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
My other install.ps1 is still running (takes FOREVER for gimp), so I'll rerun it later to see if it recognizes that tortoisesvn is OK now.

@MalwareMechanic this worked for me, used ps prompt to install python. I'll use this to install the rest of the packages that are failing. thank you!

@MalwareMechanic I was able to manually install gimp.  Here's my main observation - when manually installing it, the download sequence ran about 20x faster than when through the install.ps1 script.  I'm wondering why they would be different.  I also notiPS C:\Windows\system32> choco install gimp.fireeye
Chocolatey v0.10.13
Installing the following packages:
gimp.fireeye
By installing you accept licenses for the packages.
Progress: Downloading gimp 2.10.8... 100%
Progress: Downloading gimp.fireeye <IP_ADDRESS>... 100%
gimp v2.10.8 [Approved]
gimp package files install completed. Performing other installation steps.
Installing gimp...
gimp has been installed.
gimp can be automatically uninstalled.
Environment Vars (like PATH) have changed. Close/reopen your shell to
see the changes (or in powershell/cmd.exe just type refreshenv).
The install of gimp was successful.
Software installed to 'C:\Program Files\GIMP 2'
gimp.fireeye v<IP_ADDRESS>
gimp.fireeye package files install completed. Performing other installation steps.
The install of gimp.fireeye was successful.
Software install location not explicitly set, could be in package or
default install location if installer.
Chocolatey installed 2/2 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
PS C:\Windows\system32>ced that with tortoisesvn.  So definitely something is different between the two methods.

I agree with @tonykarre that they ran much faster through ps choco command. in any event, I was able to get all failing packages installed through this method, then re-ran installer and all is good now.

@machGhosTine @MalwareMechanic
I manually installed the remaining packages, then reran the installer to confirm that everything is OK.  I think the root of this problem is the interaction between boxstarter and chocolately.  Like maybe some kind of timing or race condition where boxstarter can't correctly determine the actual status of chocolately.   It almost acts like Boxstarter fires up chocolately and polls whether it is done or not, and something goes wrong.
For instance, after manually installing hxd.fireeye, then rerunning the installer, look at what is produced by the installer:

Boxstarter starting Calling Chocolatey to install hxd.fireeye. This may take several minutes to complete...
Boxstarter starting Calling Chocolatey to install hxd.fireeye. This may take several minutes to complete...
Upgrading the following packages:
hxd.fireeye
By upgrading you accept licenses for the packages.
hxd.fireeye is not installed. Installing...
[NuGet] Attempting to resolve dependency 'hxd '.

[NuGet] Successfully installed 'hxd.fireeye <IP_ADDRESS>'.

hxd.fireeye v<IP_ADDRESS>
hxd.fireeye package files upgrade completed. Performing other installation steps.
The upgrade of hxd.fireeye was successful.
Software install location not explicitly set, could be in package or
default install location if installer.
Chocolatey upgraded 1/1 packages. 0 packages failed.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Boxstarter finished Calling Chocolatey to install hxd.fireeye. This may take several minutes to complete... 00:00:02.9111089
Boxstarter finished Calling Chocolatey to install hxd.fireeye. This may take several minutes to complete... 00:00:02.91

So I think that there is some weakness in the boxstarter/chocolately interaction that is causing these failures.
OK - I think I'm done for the day  :)

@tonykarre Thanks for the insight! I know Boxstarter uses a slightly different version of Chocolatey and we try to use Boxstarter's version as much as we can because it handles restarts really well. Let's keep an eye on this and see how many others are affected by it as well.

I've experienced these issues. After the first run attempt I had a number of missing tools and ran it a second time. It installed more tools on the second pass, but tools  like gimp and SecLists failed. I'm now running a third time to watch what fails and will see if anything in my logs show different from what others experience. This as on a new Windows 10 vm on Vmware Fusion running from a home network and no network issues.

thanks to @tonykarre for the logs and the great insight, and @MalwareMechanic for the choco install fix. I used that to install the broken packages I was getting (gimp, vlc, openvpn, python3), then re-ran the installer to verify and all is good. only thing I see is an issue with visualstudio-installer not matching source, but doesn't seem effect anything though.


Refactoring: remove ConsoleHelper, set IO for services in controller action

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
✔

Fixed issues
-

The idea of ConsoleHelper::class was to eliminate the duplicate code that is now everywhere.

The idea of ConsoleHelper::class was to eliminate the duplicate code that is now everywhere.

ConsoleHelper create own input/ouput instead use input/output from console command. This PR fixed this.

👍


fix versions order in propfind response

The order of the file versions in propfind responses was incorrect.

@C0rby can we do it in the storageprovider service?

Sure, I moved it to the storage provider. :thumbsup:


Types mismatch fails build

Have you tried removing the node_modules and installing them again?

I did, it doesn't fix it. Adding ts-ignore to both functions does fix it.

Thank you :)

I can't reproduce this, is it still an issue? @eyargilad

Hey guys, I got a repro example and was able to reproduce the issue. Basically, the problem is that there is a field name "extension" within the ContractInfo interface, and having that name as a field shouldn't be the case because it overrides the default extensions field within the base Message interface from google's protobuf definition. If there is such a field name it should follow the convention from the Message interface.
Wasmd types: https://github.com/CosmWasm/wasmd/blob/main/proto/cosmwasm/wasm/v1/types.proto#L94-L95
Types Generated:

Base Message Definition:

So, to resolve this we have to skip checking the types within the imported libraries from the node_modules by using "skipLibCheck": true in tsconfig.json

I've just published a new version of the sdk-ts package that resolves the issue (basically does @ts-ignore on the lines that the compiler has issues with) without having the need to change the tsconfig.json file.
Successfully published:
 -<EMAIL_ADDRESS> -<EMAIL_ADDRESS>


"SwarmClipTextEncodeAdvanced" this comfy node is not compatible with StableSwarmUI Advanced Prompt Syntax?

Can the Advanced Prompt Syntax listed in doc only be used in the generation of StableSwarmUI?

Yes that syntax is for the Generate tab. On the inside it works by modifying how swarm auto-generates the workflow, it wouldn't work as a single node on its own
The swarm text encode node is for processing the auto-webui-style timestep editing from https://github.com/Stability-AI/StableSwarmUI/discussions/11#discussioncomment-9206140


Allow partially drawn lines

Currently, the last line is always rendered even if it draws skipped if any of it is outside of the bounding box.
Make it configurable, perhaps through the textbox style.

I think the bulk of this can be implemented in the line renderer. Should provide a new state that draws partial lines, so that fully visible lines don't get a perf hit.


v0.1.5

Current dependencies on/for this PR:

main

PR #98   👈

This comment was auto-generated by Graphite.


Publish up-esb on pypi

Summary:

Add script to build and upload the embedded system bridge to PyPI
Add status badges in README

In order to publish a package, the following steps are needed.

Update the version in the pyproject.toml (PyPi will block uploads with an already present version number) https://github.com/aiplan4eu/embedded-systems-bridge/blob/ae1e7da203762a606ee6953c90ae935920bb6ba4/pyproject.toml#L32
Run the push-pypi.sh script and login with your PyPi credentials for authentication.

Alternatively, I cloud also add this into the GitHub pipeline and automatically update the package on a new Release .
Closes #24

Hi @franklinselva, could you take a look, if this approach fit's for you?

Hi @jarkenau, Thanks for the changes. As for the steps mentioned,

Currently we have a GitHub job that updates the version of the package automatically. Rebasing the work from master branch should give you the recent version.
I would also recommend moving to GitHub actions since we already have a workflow for this purpose. We can publish only if there is a version bump from the existing jobs.

To enable github actions, I think we might need to setup PYPI_API_TOKEN to the secrets of the current repository. But I believe only @sebastianstock should be able to setup the token currently.

Sorry for all the force pushing (and probably the e-mails). But I have to push the code to GitHub to test if the actions work.
If @sebastianstock adds the PYPI_API_TOKEN  to the repo (tutorial for that here)  the actions should now automatically release a new version after a successful PR.

Sorry for all the force pushing (and probably the e-mails). But I have to push the code to GitHub to test if the actions work. If @sebastianstock adds the PYPI_API_TOKEN to the repo (tutorial for that here) the actions should now automatically release a new version after a successful PR.

Done.

@franklinselva I now integrated the publishing into the deploy action. From my side, it could be merged now.


How to update react state correctly?

I'm using seamlees-immutable to make the state of my component immutable.
My code looks like below:
export class MyComponent extends React.PureComponent {
  constructor(props) {
    //...
    this.state = Immutable({
      selectedItems: []
    });
  }

  this.updateSelectedItems = (selectedItems) => {
    this.setState({ selectedItems  });
  };
}

In the updateSelectedItems  function I'd like to update the state. So, I use the setState function.  It works, but I'm worried if this a correct way? In this case, I update immutable structure directly. In ImmutableJS I use its API to update the state, it looks like this:
 this.updateSelectedItems = (selectedItems) => {
  this.setState(({data}) => ({
    data: data.update('selectedItems', selectedItems => selectedItems)
  }));
};

Should I use something like this here?

@SergeyAlexeev hi there. I'm wondering the same thing as you were. Is it the right way to do so with seamless-immutable? I see there's no difference as what I usually did without it.


feat: enable parallel branch building

Hi,
One of the things that became an issue at some points is that building multiple branches with bigger model takes more and more time (our builds are getting to 40 mins). To solve this problem we would like to propose new flag --parallel in generate-site command that would use native git executable to establish git worktree for every branch that will be used and build those branches in parallel from separate branch git worktrees. jGit as of today doesn't have a support for worktrees - hence need to use native git executable.
This should effectively make builds faster in most scenarios.
Any feedback mostly appreciated.

@jenspav I will check the build numbers - will try run them tomorrow. We have around 25+ branches.

I have a similar issue with a large number of branches. I resolved it by adding some code to my build pipeline to only build branches that changes within the last X days so I can reduce the number of branches.
A parallel builder might be handy and would allow more branches to be built.
    - name: Find Old Branches
        uses: phpdocker-io/github-actions-delete-abandoned-branches@v2
        id: old_branches
        with:
          github_token: ${{ github.token }}
          last_commit_age_days: 30
          # IMPORTANT : dry_run is set to 'yes' so that nothing is actually deleted.
          # DO NOT CHANGE THIS SETTING
          dry_run: yes

    - name: Fix Array
        id: fix_array
        uses: actions/github-script@v7
        with:
          script: |
            const branchArray = ${{steps.old_branches.outputs.deleted_branches}}
            return branchArray.toString();

    - name: Build Site
        run: docker run --user root -t --rm -e PLANTUML_LIMIT_SIZE=16384 -v ${{ github.workspace }}:/var/model ghcr.io/avisi-cloud/structurizr-site-generatr generate-site  -g https://github.com/XXXXXXX/workspace.git -u ${{ github.actor }} -p ${{ secrets.GITHUB_TOKEN }} -w workspace.dsl --all-branches --exclude-branches ${{steps.fix_array.outputs.result}} -d master -a assets
        shell: bash

We use feature branches for having architecture decisions that are pending and not implemented yet, so we need to build them always - we merge them to main branch only after they are implemented. Hence we can't rely on time based branches - as sometimes implementation takes longer and HLD/ADD/ADR should be available for teams and architects.

After trying to test this branch with our own repo, I think I uncovered bug in https://github.com/structurizr/java - but would be grateful if someone can confirm my suspicion - which effectively makes me unable to provide the numbers that you asked for @jenspav.
We are extensively using !scripts in our workspace views - for tags filtering. While doing so there is something with jRuby or Structurizr itself that screws with context, when doing this in parallel - in sequential mode works perfectly.
To reproduce that when using my branch just do:
$ ./gradlew run --args="generate-site -par -g https://github.com/FlyrInc/structurizr-site-generatr.git -b test1,test2,test3,test4,test5 -d test1 -w docs/example/workspace.dsl"

test1-5 branches are exactly the same. They contain simple script ( link: https://github.com/FlyrInc/structurizr-site-generatr/blob/test1/docs/example/views.rb ) that is exactly the same on couple of views:
tags = defined?(tags) ? tags : ""
def tags_filter(tags=[])
  puts "Tags: #{tags}"
end
tags_filter(tags=tags.split(","))

When running this without -par argument this works perfectly fine. But when it's done in parallel I've got exception:
Exception in thread "main" com.structurizr.dsl.StructurizrDslParserException: Error running script at views.rb, caused by javax.script.ScriptException: Error during evaluation of Ruby in /Users/kamil/Projects/Archive/structurizr-site-generatr/build/model-clone/3/docs/example/views.rb at line 9: (NoMethodError) undefined method `split' for ["tag1", "tag2", "tag3"]:Array at line 199 of /Users/kamil/Projects/Archive/structurizr-site-generatr/build/model-clone/3/docs/example/workspace.dsl: }
        at com.structurizr.dsl.StructurizrDslParser.parse(StructurizrDslParser.java:1065)
        at com.structurizr.dsl.StructurizrDslParser.parse(StructurizrDslParser.java:140)
        at nl.avisi.structurizr.site.generatr.CreateStructurizrWorkspaceKt.createStructurizrWorkspace(CreateStructurizrWorkspace.kt:10)
        at nl.avisi.structurizr.site.generatr.GenerateSiteCommand.generateSiteForModelInGitRepository$lambda$4(GenerateSiteCommand.kt:130)
        at nl.avisi.structurizr.site.generatr.GenerateSiteCommand.generateSiteForModelInGitRepository$lambda$5(GenerateSiteCommand.kt:117)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1708)
        at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
        at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
        at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)

Which suggest something happening in structurizr-dsl that is responsible for that behaviour. Are they just reusing scripting context - and because of this, somehow tags token is becoming Array? Should I raise this in structurizr-dsl first?

After getting a fix for jRuby I could finally run some numbers on our usual workspace with 25 branches that you asked for @jenspav.
On Apple Macbook Pro M1:

Build without patch 14m 5s
Build parallel 10m 15s.

I assume on CI/CD we would have gains around 10-15 minutes based on this patch.


Update algorithm.md

Changed: - The _if suffix indicates that the algorithm is used with function objects operating on the values of the elements rather than on the values of the elements themselves.
To: - The _if suffix indicates that the algorithm is used with function objects operating on the values of the elements rather than on the elements themselves.

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


ortools/base/numbers.cc uses errno but doesn't have #include <errno.h>

What version of OR-Tools and what language are you using?
Version: 9.5
Language: C++

Seems to have been fixed on main. https://github.com/google/or-tools/commit/bf9fd7117493e9a2fb73c6cf1f9be534266060da


 directives aren't included in output declaration files

TypeScript Version:  3.1.0-dev.20180813

Search Terms:
reference lib directive type declarations
Code
/// <reference lib="dom" />

interface ElementHolder {
  elem: HTMLElement;
}

Expected behavior:
When running tsc test.ts --declaration, a declaration file equivalent to the below is emitted.
/// <reference lib="dom" />

interface ElementHolder {
  elem: HTMLElement;
}

Actual behavior:
The following declaration is emitted.
interface ElementHolder {
  elem: HTMLElement;
}

Playground Link:
N/A because Playground does not emit .d.ts files
Related Issues:
Did not find any similar looking bugs

@weswigham can you elaborate on the lib directive emit rules?

I'd ask @rbuckton actually - I'm not aware of what the lub reference declaration emit rules are, if we even have any.

We probably should be emitting these to the declaration file as well.

Thank you!


efficiently load entire parent/child model to memory

What would be the most efficient way of populating a model with a parent/child relationship from database to memory? For example, my League model contains a set of Teams, each of which contain a set of Players. When my app starts, it should load all the Teams and Players from the database. Requery is trying to help by SELECTing the Players every time I SELECT a team -- but this actually results in  hundreds of SELECTs, due to issue #446, and slows down the app startup time significantly.
(using Kotlin)
@Entity
abstract class AbstractTeam : Parcelable, Persistable {

  @get:Key
  abstract val TeamID: Int

  abstract val TeamName: String
  abstract val TeamCity: String

  @get:OneToMany(mappedBy = "team")
  abstract val Players: MutableSet<AbstractPlayer>
}

@Entity
abstract class AbstractPlayer : Parcelable, Persistable {

  @get:Key
  abstract val PlayerID: Int

  abstract val PlayerName: String
  abstract val PlayerPosition: String

  //    @get:ForeignKey  // tried with and without
  @get:ManyToOne
  abstract val Team: AbstractTeam
}

On startup, the app SELECTs the entire Team table, then the entire Player table and iterates through it:
// pseudo-code
val players = data.select(Player::class).toList()
for (team in data.select(Team::class).toList()) {
  // it.player.Team is not accessible as Int, even though that's what it is in database (issue #466)
  // it.player.Team.TeamID requires 2 SELECTs
  for (player in players.filter { it.player.Team.TeamID == team.TeamID }) {
    team.add(player)
  }
  League.teams.add(team)
}

With the hundreds of SELECTs, the app startup time is north of 10 seconds on older devices. How can I do this more efficiently with requery? Thanks.

When you load a Team instance the Team's players will not be loaded unless you call the Team.Players accessor. So selecting just the Teams won't actually load any players. How is that related to #446 ?
Why do you need to load everything into memory? In general you should load things only as they are needed and used on demand.

Agreed, selecting Teams won't load the Players. But when I do load the players and attempt to assign them to the teams, the line players.filter { it.player.Team.TeamID == team.TeamID } results in SELECTs. It is similar to #446 because requery saves the foreign key in the database, as an Int, in the "team" column of the "players" table. But requery won't allow me to access that field as an integer, (and do an easy equality comparison) only as a full Team object (as far as I can tell) which it must SELECT.
The decision to load the entire model into memory is a design decision that has worked for earlier versions of our app (with no ORM/DAO) and kept it speedy. On app startup, the entire model is loaded from the database. Part of that is due to making large amounts of the model available to users via List/Recycler and other views -- instead of selectively loading 60%, one SQL command per object, we just load the entire model (select * from teams, select * from players, iterate, done). After that, the only interaction with the database is persisting new/changed objects and properties. I understand this may not be the most traditional or common pattern but it works for this particular app.

Hi I think the best solution for your case is to remove @ManyToOne and instead do something like
@get:ForeignKey
val TeamId: Int

That is you don't need to use the requery's relationship management if it doesn't fit your use case. You can map onto the table columns directly as they are.


Custom load balancing scheme

Hello,
I am wondering if there is a way to implement custom load balancing scheme where requests are sent using round-robin but if the request count to a particular server reaches some value (say 100 requests per second) that server is excluded from the list of downstream hosts.
Does this make sense?

Is not it implemented by

#961
#1155

:question:


Added Option For Generating QRCode For Shorten URL

Added Option For Generating QRCode with qrcode Package.

@animeshdhakal Looks great!
Thanks!


About the dataset

Thanks for your wonderful work. I wonder when the dataset will be released.

We have released the data processing pipeline and plan to release the metadata and index of the final data this week, still in progress.

Thank you for your reply!


Added example of route from kafka to log

#21
WIP!
I will add instructions for infrastructure and enrich the readme.

@vedran-kolka-syntio is this ready?

No. I marked it as a draft because I haven't tried the terraform script (this is my first, so I have to set up terraform first), and I planned on improving the README.

Ok, thanks.

I consider the PR ready, so feel free to merge it if you agree.


js-ipfs v0.24.0 pre-release testing

Hi @haadcode! We are about to release the next version of js-ipfs. I've just ran the tests with the new release and it seems it will require just one single migration: using the new simplified init set up.
This was already a change on v0.23.0, so I guess ipfs-daemon never got up to date.
The error:
/Users/koruza/code/ipfs-log/node_modules/ipfs-daemon/src/ipfs-node-daemon.js:83
                this._daemon.load((err) => {
                             ^

TypeError: this._daemon.load is not a function
    at _daemon.config.set (/Users/koruza/code/ipfs-log/node_modules/ipfs-daemon/src/ipfs-node-daemon.js:83:30)
    at waterfall (/Users/koruza/code/js-ipfs/node_modules/datastore-fs/src/index.js:172:17)
    at /Users/koruza/code/js-ipfs/node_modules/async/internal/parallel.js:39:9
    at /Users/koruza/code/js-ipfs/node_modules/async/internal/once.js:12:16
    at replenish (/Users/koruza/code/js-ipfs/node_modules/async/internal/eachOfLimit.js:59:25)
    at iterateeCallback (/Users/koruza/code/js-ipfs/node_modules/async/internal/eachOfLimit.js:49:17)
    at /Users/koruza/code/js-ipfs/node_modules/async/internal/onlyOnce.js:12:16
    at /Users/koruza/code/js-ipfs/node_modules/async/internal/parallel.js:36:13
    at /Users/koruza/code/js-ipfs/node_modules/write-file-atomic/index.js:60:11
    at LOOP (/Users/koruza/code/js-ipfs/node_modules/slide/lib/chain.js:7:26)
    at /Users/koruza/code/js-ipfs/node_modules/slide/lib/chain.js:18:7
    at FSReqWrap.oncomplete (fs.js:123:15)
npm ERR! Test failed.  See above for more details.

To learn how to spawn a node today, you can check the README here: https://github.com/ipfs/js-ipfs#create-a-ipfs-node-instance

Hi @diasdavid, thanks for reporting so long ago! We've made a lot of progress since and the fresh version 4.0.0 runs with<EMAIL_ADDRESS>really nicely! 😄 👍
Make sure to check out the latest benchmarks too. We're looking at ~5k appends/s and ~2k joins/s with the latest version. Just earlier this year we were at <1k appends and ~100 joins/s 😄 We've come far since and IPFS is saving those objects like crazy! Great job! 😄 👍 ❤
Gonna close this issue as it's mostly out of date. ipfs-log should be again testable with js-ipfs release if you want to make sure there's extra test coverage upon release 😃


Doesn't work with cwd

yarn --cwd dir outdated doesn't run the command from dir. You have to already be in dir or it says Outdated lockfile. Please run yarn install and try again. It should use cwd to be consistent with other yarn commands.

Could you share a reproducible example?  It's working for me with my testing.

It was caused by yarn 1 being set globally. With the right version it works.

@mskelton Is it working in 4.1.1? You can't be in the directory when you test.
Usage Error: Couldn't find a script named "outdated".

$ yarn run [--inspect] [--inspect-brk] [-T,--top-level] [-B,--binaries-only] [--require #0] <scriptName> ...

@rightaway The plugin is definitely working. More than likely you don't have it installed in the project you are trying to use it with.

I tried yarn --cwd /project outdated
/project/.yarnrc.yml has nodeLinker can you try it with that?
nodeLinker: node-modules
plugins:
  - checksum: 53df621960dbcb9cc3953b45376e0d7e0fbcb870eec71ebb8ffa575c2e834349fdcfa255c46b8fa3fff2c65f26e55c7339c2cb57ee80f92d62c9e181bcb7792d
    path<EMAIL_ADDRESS>    spec: "https://mskelton.dev/yarn-outdated/v4"

<EMAIL_ADDRESS>has sha 512 that matches checksum in .yarnrc.
I think I installed it correctly is there anything else I need to do?

@rightaway This feels like a Yarn issue. Can you cd into the /project directory and run yarn outdated? If that works, it's definitely a Yarn issue.

Closing due to lack of response


Resize diagram per screen size

closes #105

This fix doesnt work for screens like ipads, investigating ):


Release sqlparser-rs version 0.52.0

Follow on to https://github.com/sqlparser-rs/sqlparser-rs/issues/1384
Filing a ticket here to track the work of a release (mostly so others can follow along)
Target Release Date: Approximately 2024-10-15
Note we may do the next release as part of the Apache Software Foundation process. See https://github.com/sqlparser-rs/sqlparser-rs/issues/1294
Release instructions: https://github.com/sqlparser-rs/sqlparser-rs/blob/main/docs/releasing.md
Steps:

[x] Make a PR to update CHANGELOG.md:
[x] run cargo release:
[x] verify the new release is on crates.io
[x] Make ticket for next release: https://github.com/apache/datafusion-sqlparser-rs/issues/1517

I have begun creating the scripts for running the ASF release process in https://github.com/apache/datafusion-sqlparser-rs/pull/1479. I will keep hacking tomorrow

Update here is that now that we have @iffyio  setup as a committer, I think we will be able to commit PRs and make the first release of this crate under the ASF process. I am working on this now

I made a few prerequisite PRs:

https://github.com/apache/datafusion-sqlparser-rs/pull/1502
https://github.com/apache/datafusion-sqlparser-rs/pull/1503

Then I have a PR to update the version and add scripts:

[ ] https://github.com/apache/datafusion-sqlparser-rs/pull/1479

Then I think we'll be able to do this

Thanks to @andygrove  https://github.com/apache/datafusion-sqlparser-rs/pull/1479 is now ready for review 🙏

We have a release candidate out for approval: https://lists.apache.org/thread/p0ftpfb09jsxmr30d9m35v70w7gcjsp0

The release has been approved and officially released: https://lists.apache.org/thread/b4n5ycp9z922tzg29w2z3vlfg7cwcrc8
Thank you everyone. Next release is tracked in https://github.com/apache/datafusion-sqlparser-rs/issues/1517


Allow filtering by 'Project' name

Typing the name of the project does the filter buy the project , but then user can not filter by text in the commit.  Nice to allow the user filtering by 'Project'

Workaround: type in the filter text field project:my-project.

You do not even need the workaround written above. Just select "All" in the "Branch" filter for a specific project.


Shifter: Intergration with Unreal

Reporting

[x] Add warning on import if the animation layer does not exist, but a Clip is using it. (Import Configuration preset)

Unreal

[ ] Specify where the new FBX files should be imported in Unreal. or have it detect the folder from Unreal.
[ ] List available skeleton definitions, or allow new skeleton definition to be created in Unreal.
[ ] Import the FBX Animation Clips into Unreal.

[ ] ueGear: Get Skeletons
[ ] ueGear: Get Skeletons Meshes
[ ] ueGear: Get Selected Folder

Branch:
ueGear: https://github.com/mgear-dev/ueGear/tree/Shifter_mGear_309
mGear: https://github.com/mgear-dev/mgear4/tree/Shifter_unreal_309

Status update: Working on the inter-application commands.

Commands have been implemented.
Starting UI development

Update Partitions Serialisation

[ ] Export and Import serialisation
[ ] UI change, should update the FBX Maya node

[ ] Skeletal Mesh from Maya to Unreal pipline.

Tests for animation export are all working correctly. You can select a skeleton and export the animation, and have it import the skeletal animation in Unreal, referencing the specified skeleton.
Area of concern:
We do not perform any skeletal checks on the skeleton in Unreal and the skeleton in Maya. We are assuming that the user knows that the skeletons should match.

I have written a bone counter, but not a tree structure verifier. We could but we would need to compile some c++ plugins as the names are not exposed on the unreal python skeletalNode object.

In review
https://github.com/mgear-dev/mgear4/pull/316
https://github.com/mgear-dev/ueGear/pull/12


Move on to Python 3 (while reviewing the correctness of our usage of Unicode strings)

This issue was originally called "Unicode strings in python v2".
original description:
Review all strings with unicode in mind.
See: https://github.com/googlefonts/fontbakery/pull/1106
Python 3 port:
As of 2017 March 21, this is the place to track work on our Python 3 port as it should cleanup any bad handling of Unicode strings, byte strings, encoding/decoding operations etc. Python 3 is less forgiving on that, which is good since this is a key concern for FontBakery's code quality & correctness.

https://github.com/googlefonts/fontbakery/commit/965bb96b55cf201d28e48887a72807bfd4797e0e#commitcomment-19299810

@felipesanches is there anything more to do here?

@davelab6 I'm looking at it again now.

Even though the issue is described as properly dealing with strings in python version 2, what really struck me as a more important question this morning was: "Why are we stuck on python version 2 at all? Why can't we move to python 3?". I could not easily remember exactly why we decided to stick to v2 in the past, so I investigated the issue and it seems the bad boy was Google Protobuffers, which used to support python v2-only. That's not the case anymore, so I decided it is time to seriously consider again moving on to v3.
I've been reviewing our usage of byte strings and unicode strings during the day and the bulk of the work is being done in this branch, which will likely be merged soon (once I'm done with the port and quality assurance):
https://github.com/felipesanches/fontbakery/tree/python3

I'm not exactly sure what's going on with this one in particular:
felipe@guarana:~/fb-dev (python3)*$ python3 ./fontbakery-fix-glyphs.py
Traceback (most recent call last):
  File "./fontbakery-fix-glyphs.py", line 17, in <module>
    import glyphsLib
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 1191, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 1161, in _load_backward_compatible
  File "/usr/local/lib/python3.4/dist-packages/glyphsLib-1.0-py3.4.egg/glyphsLib/__init__.py", line 25, in <module>
  File "<frozen importlib._bootstrap>", line 2237, in _find_and_load
  File "<frozen importlib._bootstrap>", line 2222, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 2164, in _find_spec
  File "<frozen importlib._bootstrap>", line 1940, in find_spec
  File "<frozen importlib._bootstrap>", line 1916, in _get_spec
  File "<frozen importlib._bootstrap>", line 1897, in _legacy_get_spec
  File "<frozen importlib._bootstrap>", line 863, in spec_from_loader
  File "<frozen importlib._bootstrap>", line 904, in spec_from_file_location
  File "/usr/local/lib/python3.4/dist-packages/glyphsLib-1.0-py3.4.egg/glyphsLib/parser.py", line 119
    _unescape_re = re.compile(ur'(\\0[0-7]{2})|(\\U[0-9a-fA-F]{4,6})')
                                                                    ^
SyntaxError: invalid syntax

I think we need Python 2 for Google, and possible integration with font editors

Ouch!! Seriously ?! Or are you just guessing?
Mixed signals: https://github.com/googlefonts/fontbakery/issues/789

Fontbakery is pretty much stand-alone. I don't have any kind of integration with font editors in my radar. I only forsee command-line interface plus dockerized web dashboard.

Could you work with the style of python 2 that is compatible with 3?

Having said that, TruFont is the editor I would most want to integrate with, and that is python3 :)

@davelab6 That's surely a bit harder than simply moving on.
Do we really need that kind of additional constraint. The font editors integration did not sound compeling and "Google needs it" sounds a bit vague.

I'd like to move on fast not really caring much about python 2, if possible.

...unless people can point out solid use-cases that require backwards compatibility, of course.

I'm fine to move to python3 asap :) Thanks for discussing :)

Alright! :-)

How big an effort is this?

I can spent 15 minutes on it and then report back how long I think it will take.

@felipesanches did we stay with python v2.7? If not, https://github.com/googlefonts/fontbakery/blob/b43272b8d42a69151efa5d6abcf6f7a9422dbf04/setup.py#L102 needs updating

You can do this in every file as the first line:
from __future__ import unicode_literals

to see if it breaks. (this line is no-op in python 3, and basically for people who want to see if their code is ready to move from 2.7.x to python 3.x).
There are other such stuff in the __future__ module. It is a python 2.x module for people migrating to 3.x. By 2.x I think it means 2.7.x, or at most a late 2.6 - you do drop compatibility with older python 2.x if you do this. Argh, according to https://docs.python.org/2/reference/simple_stmts.html#future , uncode_literals is in python 2.6.

Full self-test coverage is a prerequisite before doing something risky like that.
I'm gradually increasing self-test coverage so that once I do things like this pytest will be my safety-net to avoid doing silly things and breaking things inadvertently.

In most of the files we already use:
from __future__ import absolute_import, print_function, unicode_literals

For the actual test definitions in specifications/googlefonts.py we should add from __future__ import division and have a thorough review of our division cases. But, I'd be very happy to have python3 style explicit integer divisions //.

Python 2 has a -3 switch that "warn[s] about Python 3.x incompatibilities that 2to3 cannot trivially fix".  Augment all shebang lines with it? 😁

Maybe...
What I do have in mind is that we should finish implementing all code-tests so that we can have them as a "safety net" when attempting a move to python 3.

http://python-future.org/quickstart.html

What tests are actually missing? I'd like to see a roadmap of some sort, we (especially I) want to get rid of Py2 already :grin:

the ones missing in googlefonts_test.py such as this one:
https://github.com/googlefonts/fontbakery/blob/fc9a4e68e5f002fe5df805b5fc6696b6bd1732cd/Lib/fontbakery/specifications/googlefonts_test.py#L612

Last stats that I gather was at version 0.3.2 and the code-tests covered 53% of the checks. As a code quality policy, recent additions of new checks have been made with corresponding code-checks. But there's not been a lot of new code tests for old checks. So I guess we still have roughly half of the checks needing proper code tests.

Right now, running tox will test with 2.7. You can use tox -e py36 to test with 3.6 (provided you have it installed). Running futurize --stage1 Lib/**/*.py fixes many errors, but also points at (ab)use of lambdas like this: lambda x, (y, z): ..., when 3.x will only accept lambda x, y, z: .... This is all stuff that can probably be fixed in a long day, and actually I'd love to get cracking, but I'm a bit wary with the current PRs still in the queue. This work would touch most source files and constant rebasing and solving merge conflicts isn't fun. So... more tests first?
Getting rid of non-core-business scripts and dead test files  would also help to bring coverage up, by the way ;)

This is pretty good! We now run our testsuite on Travis against both python 2.7 and python 3.6 on each pull request :-D

Next step is to increase out testsuite code-coverage so that we can be more and more certain that everything is rock-solid on both versions of the interpreter.

What tests are actually missing? I'd like to see a roadmap of some sort, we (especially I) want to get rid of Py2 already

@madig, I wrote boilerplate code for them all last week. You'll see on the test files that now we have tests called NOT_IMPLEMENTED_test_check_something. In their body I have also listed all code-paths that need testing so that we don't forget to cover them all. Here's an example:
https://github.com/googlefonts/fontbakery/blob/9784e47f393a059039a90dc4f83a39932d088755/tests/specifications/prep_test.py#L18-L27

I'll close this issue so that we do not convey the wrong idea that we might not yet support python 3.
We currently run automated tests on both python 2 and python 3 on travis. Code-test coverage is atroughly 60%, so increasing coverage is necessary, but we don't need an issue on the tracker for that.

Sounds good!


[CT-154] [Feature] DBT project cutter

Is there an existing feature request for this?

[X] I have searched the existing issues

Describe the Feature
DBT project cutter
Shall we develop a command-line utility that creates a project from project templates adopting DBT solution? The project initialization contains readme with the best practices and development guide, its required project folder structure, sample files in model, macro and data and test folders etc... It also can build required virtual environment or docker as a project needs
Background
My company starts to adopt DBT for data pipeline from sources into data warehouse. However, different project teams have different understanding and approach to manage their project branches, which cause headache and conflict when merge into master repository and deploy to production.
I have developed some scripts for dbt project initialization (DBT project cutter). If there is a beneficial for our community. I would like to initial a project for it.
Describe alternatives you've considered
sample model file
./model/example.sql
-- --------------------------------------------------------------------------------------------------------------------------------------------------
-- VERSIONS  DATE          WHO                      DESCRIPTION
-- 1.00      {{ date }}    {{ creator }}            Initial
-- --------------------------------------------------------------------------------------------------------------------------------------------------
-- DO NOT USE objects directly,
--    USE source() call to reference external defined in the source.yml
--    USE ref() call to reference other dbt models.
-- DO NOT include DDL code such as CREATE or DROP VIEW in object file
-- DO NOT include any semicolon “;” in the file, or the script will fail
-- DO NOT have “Grant” permissions statements
-- Highly repeating code or reusable code can be turned into loops and macros, to speed up future development and increase the readability of the code.

{% snapshot {{ file_name }} %}

{{
    config(
      target_schema=generate_schema_name('curated_source'),
      unique_key='business_key',
      pre_hook=before_begin("{{ delta_load_job_control_start('" ~ this.identifier ~ "') }}"),
      distributed_by='business_key',
      post_hook="ANALYZE {{ this }}",
      strategy='timestamp',
      updated_at='update_time',
      invalidate_hard_deletes=True
    )
}}

{% if execute %}

SELECT
-- your columns here
FROM {{ source('{{ source_schema }}','{{ file_name }}') }} alias

{% endif %}

{% endsnapshot %}

Who will this benefit?
DBT project developer
Are you interested in contributing this feature?
Yes
Anything else?
No response

A different project type, source connector, can have its own template which can predefined/user altered into configuration file. Furthermore, we can build a check-validation bot based on the best practice and user rule definitions which will be triggered when user submit a PR.

@cove9988 Thanks for opening, and sorry for the delay getting back to you.
We had something like this a long time ago for consulting projects: https://github.com/dbt-labs/dbt-init
I do think the right place for this issue, like all "dbt source code generation," is in packages and plugins external to dbt-core. (E.g. codegen package, dbt-generator tool.) dbt init is an exception to this rule, since it is built right into dbt-core, but I want to keep its intended use case narrow in scope: someone's very first experience using dbt, right after installing it on their machine. If an organization wants to customize that experience for its newest dbt developers, to provide org-specific context and guidance—power to them!
I saw you opened a discussion too (https://github.com/dbt-labs/dbt-core/discussions/4666), and I think that's the right place for something like this going forward. I'm going to close the issue to keep the thread centralized over there.


StateParams with native-ui-sref

Hi
When linking another with stateParams, i get an error like:
"Could not resolve 'state.name({param1: data1, param2: data2})' from state 'someState'"
The transition works well  without the stateParams.
tested it with the ui-router directive  ui-sref attribute with stateParams and it works well as expected.
Is it possible to pass stateParams using the native-ui-sref directive?

You mya use {inherit:false} option.
native-ui-sref="tabs.home" native-ui-sref-opts="{inherit:false}"

https://github.com/shprink/ionic-native-transitions#using-directives
or
$ionicNativeTransitions.stateGo('yourState', {inherit:false}, {
    "type": "slide",
    "direction": "up", // 'left|right|up|down', default 'left' (which is like 'next')
    "duration": 1500, // in milliseconds (ms), default 400
});

https://github.com/shprink/ionic-native-transitions#state

I'm hitting this as well--I see state options being passed, but not state params. Is there a way to pass state params with native transitions ?

$ionicNativeTransitions.stateGo('yourState', <stateParams>) same as $state.go('yourState', <stateParams>)

ui-router $state.go takes 2 arguments, one for stateParams, and other for options [1], but it seems that $ionicNativeTransitions.stateGo only takes stateParams as the second argument, while "native-ui-sref-opts" only takes options. Is this correct?  Thanks.
[1] http://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$state#go

You are right. My mistake!

@iamsamwood please try rc8
the api changed to: https://github.com/shprink/ionic-native-transitions#state

@shprink OK thanks. Does ui-sref-opts need to be updated for this change as well ?https://github.com/shprink/ionic-native-transitions/blob/develop/lib/nativeSref.js

Once again you are right!

Fixed in v1.0.0-rc9


Fix browser history bug with map

Fixes lonelyplanet/destinations-next#455
Added a state object when using pushState and then used the window.onpopstate method to check the state.
Removed the createHistory module import. I'm not sure why that was being used instead of the native window.history. The createHistory module seemed to mess up the value of the state when it was updated with pushState. It would change it from a boolean to a hashed string (something like {isOnMap: "xY9ds"}) which would break functionality.

I need to look into the history module a bit more and get the test to pass.

:+1: