[jsfm] v0.16

v0.16

refactor the default js framework code, hide almost private APIs
more code comments
fixed bugs when append="tree" on root element of a page
avoid errors when if/repeat directive on root element of a component/page
fixed bug of default class style cannot reset in vdom
fixed some memory leak issues
fixed Promise bugs in some mobile devices
supported force update of attr/style in vdom
added static directive in default js framework to avoid unnecessary data-binding and take down the memory use
supported callAddElement low-level API to make rendering faster
fixed JS modules conflict between instances

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.3 out of 4 committers have signed the CLA.:white_check_mark: Jinjiang:white_check_mark: Hanks10100:white_check_mark: yuanyan:x: IskenHuang

Merged by myself which already confirmed with @cxfeng1
Thanks.


Missing export from the new toHaveSelectorCount

Seems like the export for toHaveSelector count was forgotten. I was going mad trying to work out why the new matcher wasn't working in 0.3.0.

cool thanks!

cool thanks!

cool thanks!

No worries. :)

cool thanks!

No worries. :)

@voodoofrog sorry for that. I just missed that :(

@voodoofrog sorry for that. I just missed that :(

@voodoofrog sorry for that. I just missed that :(

It happens. :)

@voodoofrog sorry for that. I just missed that :(

It happens. :)


Updated ImportChangeType enum

Had to add the value "n" to the enum. After deleting a member, then readding them, running GetMembersAffectedByImport would error because it needed "n". I couldn't find anything in the Emma documents as to what this value was for. Also added other known enum values though they may not be returned in this specific case. Overly cautious.
Aside from Emma returning "n" for that one record, GetMembersAffectedByImport isn't returning any other values/records even though the batch for the import included other records (both Adds and Updates). This worked before so not sure if they changed something on their end. Old import IDs are still returning data. I will follow up with Emma.

I am getting other values now (add/updates), though I am still getting "n" coming across for that one record.

Hey @MikeSmithDev,
Well that was different, but not unexpected. I don't know if we need all the member codes as the field applies to the "type of import" not to the member imported. I'm wondering if 'n' refers to a member that wasn't imported, but was just added manually. Can you confirm that this member might have been added manually?
I've also reached out to Emma for clarification. If you get a response first, let me know. Since you have your own patch working, I'll give Emma's team a bit to respond.
Great catch!

I'll let you know what I hear. I've been having a number of issues and sent
a few people an email this morning. Specifically:

Querying by Import ID to get details of the upload returns 0 results if
you do it too quickly. I added a 10s thread sleep following the upload and
before I made the Import ID query and it appropriately returned data.

I asked about change type "n"

Updating a member by memberId (so you can update an email address...
the UpdateSingleMemberInformation in the wrapper) returns "true" but
doesn't actually update the email address. In some cases it created a
duplicate user.

Updating Groups (passing groupIds parameter in AddMember call) usually
doesn't work at all. This morning I ran the code multiple times and no
positive result (usually in cases of new users where I just pass email
address and no fields). Then I ran updates for 100 users with all our
fields (we have over 100 fields) in batches of 9 users at a time, adding
them to 11 group Ids in each batch. Immediately after, the web interface
was still showing 0 users in a group. Later it showed 9. About 15 minutes
later it showed 54. 24 minutes later it is at 94. This delay is affecting
my ability to adequately test.

Are you seeing the same issues?
On Tue, Feb 16, 2016 at 10:24 AM, Kyle Gregory<EMAIL_ADDRESS>wrote:

Hey @MikeSmithDev https://github.com/MikeSmithDev,
Well that was different, but not unexpected. I don't know if we need
all the member codes as the field applies to the "type of import" not to
the member imported. I'm wondering if 'n' refers to a member that wasn't
imported, but was just added manually. Can you confirm that this member
might have been added manually?
I've also reached out to Emma for clarification. If you get a response
first, let me know. Since you have your own patch working, I'll give Emma's
team a bit to respond.
Great catch!
—
Reply to this email directly or view it on GitHub
https://github.com/kylegregory/EmmaSharp/pull/5#issuecomment-184727676.

@MikeSmithDev,

How fast are you querying the GetImportInformation method? It's working for me. Are you hitting the Rate Limit?

Sounds like a bug on their end. Again, wouldn't be the first I've encountered.

AddMemberToGroups has worked fine for me. I've only done limited testing, but was able to add a single member into multiple groups, and tested at least 2-3 times on that one. I wasn't working on the level you were. I also tested with a large group (500 ids) inserting into multiple groups using the similar group method of AddMembersToGroup. That one worked fine and I immediately saw the group numbers go up (as fast as I could hit refresh).

Don't think it's a rate limit issue. Not getting close to that but have
throttling in place in case.

I was using the regular AddMembers bulk operation to add people to
groups, using the groupIds parameter. Seems to work fine as part of my
regular "update" sync code, but for new users it doesn't work as well if at
all. I think this may be a result of the lags I've seen all over the
system. Main issue is I need to add bulk members to bulk groups and this
seemed like the way to go.

Haven't heard back from them but I figure it'd take a bit to
rundown/identify potential issues considering the amount of probs and log
data I provided.
On Tue, Feb 16, 2016 at 3:35 PM, Kyle Gregory<EMAIL_ADDRESS>wrote:

@MikeSmithDev https://github.com/MikeSmithDev,

How fast are you querying the GetImportInformation method? It's
working for me. Are you hitting the Rate Limit
http://api.myemma.com/index.html#api-rate-limit?

Sounds like a bug on their end. Again, wouldn't be the first I've
encountered.

AddMemberToGroups has worked fine for me. I've only done limited
testing, but was able to add a single member into multiple groups, and
tested at least 2-3 times on that one. I wasn't working on the level you
were. I also tested with a large group (500 ids) inserting into multiple
groups using the similar group method of AddMembersToGroup. That one
worked fine and I immediately saw the group numbers go up (as fast as I
could hit refresh).

—
Reply to this email directly or view it on GitHub
https://github.com/kylegregory/EmmaSharp/pull/5#issuecomment-184865231.


Add rules_erlang 3.5.0

Add the latest release of rules_erlang https://github.com/rabbitmq/rules_erlang/releases/tag/3.5.0

@pjk25 Would you want to become the maintainer for the rules_erlang module? If so, you can add your contact info to metadata.json.

@pjk25 Would you want to become the maintainer for the rules_erlang module? If so, you can add your contact info to metadata.json.

I think I'm already listed?

Sorry for the noise, the maintainer info was cut off in the diff and I didn't look at the full file.

No problem, thanks for the quick approval and merge


ci: use last version of actions-node

Codecov Report

Merging #470 (f1720ed) into main (234c959) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #470   +/-   ##
=======================================
  Coverage   95.94%   95.94%
=======================================
  Files          12       12
  Lines         345      345
  Branches       54       54
=======================================
  Hits          331      331
  Misses         13       13
  Partials        1        1

Continue to review full report at Codecov.

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


Fix X11 memory leak after drag & drop file into the editor

Some XGetAtomName() result were not freed.
Some data retrieved via XGetWindowProperty() were not freed.

Thanks!


Allow cancellation of execution in Database#each

Closing as this issue is incredibly old and no other interest has been shown. We can reopen if there is sufficient demand


[AKS] Fix that cli doe not fail when user only specifies Windows password

Description

This change will help users to validate whether windows-admin-username is set when they want to create a cluster with Windows agent pools.
For example, a user only sets windows-admin-passowrd so a cluster without specifying Windows admin username and password will be created.
az aks create --resource-group testcanada --name canada2 --node-count 1 --kubernetes-version 1.14.1 --generate-ssh-keys --windows-admin-password "P@SSW)RD!@#!@" --enable-vmss --network-plugin azure

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

AKS

hi @arrownj can this PR been merged now?

@arrownj I have updated the PR but those 2 pylint checks still fail with below 2 errors. It seems like no related to my PR. Do you have any idea?
/home/vsts/work/1/s/src/azure-cli/azure/cli/command_modules/resource/tests/latest/test_resource_formatters.py:472:0: F541 f-string is missing placeholders
/home/vsts/work/1/s/src/azure-cli/azure/cli/command_modules/resource/tests/latest/test_resource_formatters.py:472:0: F541 f-string is missing placeholders


Add option to highlight specific months in Month picker

Would be great to have the option to highlight specific months in showMonthYearPicker, just like in the default datepicker.
Something like:
<DatePicker
  selected={startDate}
  onChange={(date) => setStartDate(date)}
  highlightDates={[addDays(new Date(), 31)]}
  showMonthYearPicker
/>

or:
<DatePicker
  selected={startDate}
  onChange={(date) => setStartDate(date)}
  highlightMonths={[addDays(new Date(), 31)]}
  showMonthYearPicker
/>

It would look something like this:

Any thoughts?


IndexError: too many indices for tensor of dimension 1

Hi there,
I'm using the PyTorch implementation with bert-base-uncased and I get the following error when the sentence contains only one token:
Traceback (most recent call last):
  File "bert.py", line 28, in <module>
    print(scorer.score_sentences(["Hello"]))
  File ".../mlm-scoring/src/mlm/scorers.py", line 167, in score_sentences
    return self.score(corpus, **kwargs)[0]
  File ".../mlm-scoring/src/mlm/scorers.py", line 757, in score
    out = out[list(range(split_size)), token_masked_ids]
IndexError: too many indices for tensor of dimension 1

It works fine with MXNet MLMs, but I need to use a community model from HuggingFace.
Thanks!

OK, I think I found the problem.
https://github.com/awslabs/mlm-scoring/blob/672729747432810f9bcb37149104124dd3cc4165/src/mlm/scorers.py#L727
should be changed to:
out = torch.reshape(out[0], (1, -1))
squeeze() was removing one dimension that should be preserved.

Hurray for publicly licensed software and donation of labour to the public good!


OAuth2 client-credentials flow - unable to set clientid and secret key for authentication

I am using 6.0.0-beta902 of Swashbuckle SwaggerGen and SwaggerUi (because rc1-final is not compatible with net461)
I am using OAuth2 client-credentials flow to authenticate calling clients, and the support for this in Swashbuckle looks promising. Right up to the point where you actually want it to work. I get an Authorize button in the top bar of the UI, but when I select the scope and click the authorize button I don't get anywhere.
I tried to hack the javascript according to this issue: Allow to set values in initOAuth #75, but that killed the entire UI.
Can you please provide a way to set these values?
Thanks,
Morten

+1

+2

+3

+4

+5

The code changes for this are pushed and available as a preview package (see https://www.myget.org/gallery/domaindrivendev). See the following for an example:
https://github.com/domaindrivendev/Ahoy/blob/master/test/WebSites/SecuritySchemes/Startup.cs#L64
Will be available as a stable release very shortly

I could not test it because the package refuses to run against net46 ,(
What do I miss?

+6

+7

Available with latest pre-release. Note the package rename to "Swashbuckle.AspNetCore.1.0.0-rc1"


EGO with qEI criterion integration

This PR is based on the PR #199 related to parallel EGO which is integrated here with the current EGO implementation.

:x: Build SMT 0.4.660 failed (commit https://github.com/SMTorg/SMT/commit/ca02394243 by @relf)

:x: Build SMT 0.4.661 failed (commit https://github.com/SMTorg/SMT/commit/2b9ebc7a22 by @relf)

:x: Build SMT 0.4.662 failed (commit https://github.com/SMTorg/SMT/commit/1764b901c8 by @relf)

:white_check_mark: Build SMT 0.4.663 completed (commit https://github.com/SMTorg/SMT/commit/ce2c70f172 by @relf)


Set proper icon for LineEdit in editor theme

Before this fix, the clear button of LineEdit is small on a HiDPI monitor.
The default icon is a cross icon: line_edit_clear.png. Although there is a similarly named icon_clear.svg in editor icons, it's a broom icon instead. So I picked the visually similar icon_gui_close.svg.

Thanks!


[mungegithub] Add a [ROBOT] tag to comments from the robots to make them easier to filter.

VERY easy to do after my rewrite, as there is a single place comments are made in the code...

what would you like this to look like?
@k8s-bot test this
[robot]

Labeling as size XL
[robot]

Look ok?

I'm worried it will needlessly make the github history longer and people won't really use it....   we only have 2 bots, so it should be easy enough to filter on that....

Notifications now have this. e.g. https://github.com/kubernetes/contrib/pull/2319#issuecomment-273300329
Closing.


Update User Stories to our TP character

closes #43 #36 #29

Codecov Report
Base: 72.18% // Head: 72.18% // No change to project coverage :thumbsup:

Coverage data is based on head (5878b60) compared to base (9cca216).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #61   +/-   ##
=========================================
  Coverage     72.18%   72.18%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1233     1233
  Branches        125      125
=========================================
  Hits            890      890
  Misses          311      311
  Partials         32       32

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Fix minor typo in install.md

Changes
Fixed namespace typo in README

/ok-to-test

/lgtm
/approve

Thanks for your attention to detail and contributing back all these fixes @rhuss !! :heart_eyes_cat:


All entities Unavailable

Hi, I just installed this as a first time user and all seems to have been created, but I cannot get any of the entities to update.
Is there something I missed in the set up? Or have I found a bug?

Did you go through the v2.4 to v3 migration steps in the in the iCloud3 docs? Or just add iCloud3 as an integration?
When you add it, it migrates the devices and set them to an Inactive status and they are not tracked. See here for more info. Note the highlighted message in red.
Does the Event Log display? Any messages? And device info?

Did you go through the v2.4 to v3 migration steps in the in the iCloud3 docs? Or just add iCloud3 as an integration?
When you add it, it migrates the devices and set them to an Inactive status and they are not tracked. See here for more info. Note the highlighted message in red.
Does the Event Log display? Any messages? And device info?

Thanks for the response,
1- I went directly to v3
2- The device is set to active

a quick look through the log and I can see this:

Any ideas from that?

You are not tracking with iCloud. The FamShr on the Update Devices is None so you are only with the iOS App. I suspect the Mobile App Integration might not be set up, is disabled or the sensors it uses is disabled. Then that got a lot of errors so there was no location data source.
I will be releasing rc9 in a few days that checks that. I have attached rc9 below. Install and lets see what that detects.  Stage 3 & 4 of the startup show how the iOS App is configured and if there is anything that is disabled.
Unzip icloud3_v3-rc9 into the icloud3 directory and restart HA.
icloud3_v3-rc9.zip

Closing this issue with the release of v3.0


Vulnerability issue in react-scripts

Describe the bug
Found a vulnerability issue in react-scripts. I tried creating a new app using create-react-app, which in turn installed react-scripts 4.0.3, which in turn installed webpack 4.44.2, which in turn installed ssri 6.0.1. I found a vulnerability issue in ssri 6.0.1. Please refer CVE link, for the same.
Did you try recovering your dependencies?

Yes
Environment

Environment Info:
current version of create-react-app: 4.0.3
running from C:\Users\223015921\AppData\Roaming\npm-cache_npx\20060\node_modules\create-react-app
System:
OS: Windows 10 10.0.18363
CPU: (8) x64 Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
Binaries:
Node: 14.15.1 - C:\Program Files\nodejs\node.EXE
Yarn: 1.22.5 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
npm: 6.14.8 - C:\Program Files\nodejs\npm.CMD
Browsers:
Chrome: 93.0.4577.63
Edge: Spartan (44.18362.1533.0)
Internet Explorer: 11.0.18362.1
npmPackages:
react: ^17.0.2 => 17.0.2
react-dom: ^17.0.2 => 17.0.2
react-scripts: 4.0.3 => 4.0.3
npmGlobalPackages:
create-react-app: Not Found
Steps to reproduce

try creating new react app using npx create-react-app <app-name>.
check for the version of webpack and ssri.

I have few more queries:

Is this a known vulnerability? If yes, then is there any plan for fixing this?
If yes, what is the ETA version?
If not an already known issue, is this a vulnerability issue as per your security checklist or not?
Can you please confirm this?

May want to have a read through [https://github.com/facebook/create-react-app/issues/11174](this issue) just to make sure it's a valid security issue.

Thanks @jamsch! Check out https://github.com/facebook/create-react-app/issues/11174 for more information

@petetnt and @jamsch , I went over the link which was provided. The issue which is pointed out is suggested by CodeInsight report for our app, it is not purely of npm audit. Also, NVD has marked it as a valid vulnerability, please follow the provided link.


live preview from partials

I'm not sure if this is normal o if i'm explaining myself right, so bear with me please.
I have some similar structure
index.html
stylesheets
  -main.scss
  -main.css
  -components
           --_variables.scss
           --_header.scss

If I have a main file with all my partials imported, when modifying a partials, changes won't compile until save; so live preview won't show until save.

+1
Would be very useful when a partial is changed that the main.scss would be automatically re-compiled.

@Turqueso I think this may have been a windows bug where the source map paths were set incorrectly, causing the link from the main file to the partial file to be lost.
You can try the latest dev build here https://github.com/jasonsanjose/brackets-sass/releases/tag/2.0.1-101 (download the zip, open extension manager, then drag the zip from your file system to the drop zone).
If you have problems uninstalling, try the workaround here https://github.com/jasonsanjose/brackets-sass/issues/81#issuecomment-76223733.

@jasonsanjose the latest dev build fixed my issue with compiling partials. thanks!
But there is not livepreview when i make changes on partials, i don't know if this is supposed to work on this build

Fixed in #100. Closing.


Create Windows_MSVC_x64 CI job

I'm really not sure why the MinGW CI is failing (no error in output, but haven't tried running it locally either), but considering that you are mainly focused on Windows on MSVC maybe a better option would be to backport the CI job for it instead (You could also just enable AppVeyor since you still have the config file for it, but it isn't as nice as GitHub Actions).
Here is a quick stab at that.

Looks like it didn't download the VCPKG packages, not sure. Oh well I tried.


[Feature Request] NTLM Authentication Support

Hi,
Would it be possible to add NTLM authentication support so that it can be configured via the plugin?

@theHackPot Hello, i just took over the project. what do you mean?

Hi,
The plugin supports form based and script based authentication.
I couldn't see any options/fields to set a username/password pair of
credentials used for HTTP/NTLM authentication.
On Thu, Oct 13, 2016 at 5:51 AM, Jordan<EMAIL_ADDRESS>wrote:

@theHackPot https://github.com/theHackPot Hello, i just took over the
project. what do you mean?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jenkinsci/zaproxy-plugin/issues/28#issuecomment-253413922,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AQeC-2TM5ZzuABKpEMOR-sYGAGtE2HdOks5qzbjDgaJpZM4ISnxe
.

@theHackPot I'll add it to the to do list but I'll have no way of testing this myself, would you be willing to test and let me know if it works?

This issue will be closed, all future issues will be created here. The GitHub issue tracker will be closed in favor of using the Jenkins JIRA issue tracker. If you would like to reopen this issue, please do some so :)


[W6.1d][T15-B3]Darren Chin Jhun Pyng

@DarrenCzen
Some comments added. Please ack & close the PR after reading comments.


Q. enum support?

Is enum not supported yet?
Example:
use imgui_inspect_derive::Inspect;

#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Inspect)]
pub enum ShadowConfig {
    Blur,
    Raw,
    None,
}

cargo build:
error: proc-macro derive panicked
--> crates/grue2d/src/game/cfg.rs:7:51
 |
7 | #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Inspect)]
 |                                                   ^^^^^^^
 |
 = help: message: not implemented

Thank you :)

It sounds like a good thing to add. I'm not sure how the UX would work. I'm too busy with other projects to do it myself, but if someone wanted to PR it I'd be happy to take a look. (I would expect enum support to allow setting values within enum variants).


Update simplesamlphp/saml2 dependency

This PR updates the SAML2 dependency in order to have the security fix for signature validation noted here: simplesamlphp/saml2#81
This is meant to be cherry-picked into a backported release as well.

@rjkip 🐔 🍳 :eye:


Exception not well handled

When the question is not understood, should not throw a nullPointer exception.
@sabiipoks
Try ask "people on POET-3?" or "Description of POET-3".
Instead of surrounding with try-catch, I believe it is better to add these and similar words to the keyword list.

Issues (this section) are meant for users of the git repo that want to report bugs or ask for a feature.


fix: fix ts extension detect regex, close #775 #774 #772

this issue fixes a bug caused by an invalid regexp, which provides a fast way to detect if the specific file is allowed to transform.
Texts for the case have been added as weel.
fix #775
fix #774
fix #772

@Brooooooklyn @maxburs @Yovach please take a look. sorry for the late response

Thanks @yeliex. It's ok, it wasn't blocking because we could downgrade the version, don't worry!
How can we test the fix?

@Yovach install package through github  https://github.com/yeliex/swc-node.git#fix/ts-extensions to test


Getting access denied when trying to checkout  a repository in a different project

Hi there,
I'm  trying to checkout a repository using both the inline approach and the resource repository approach
e.g.

checkout: git://MyProject/MyRepo
I know the path is correct and I know that there resolved path is correct. I am also an administrator for both projects.
however I get a message back repository not found or I dont have permission to access it.
I read somewhere that there is a PAT asigned to the  pipeline for the current project and I need to do the same /similar for  to access the repository in a different project.
Am I missing something?

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

ID: 8a0499c0-bd1c-47a0-b472-54a5d6c159b4
Version Independent ID: ec3feae0-4f23-68ab-6307-75fde645468a
Content: Check out multiple repositories in your pipeline - Azure Pipelines
Content Source: docs/pipelines/repos/multi-repo-checkout.md
Product: devops
Technology: devops-cicd-repos
GitHub Login: @steved0x
Microsoft Alias: sdanie

@markkerins -- thank you for your detailed question.  You may find answers here:

Azure DevOps Support Bot
Azure DevOps on Stack Overflow

@steved0x -- please look into this issue.

Thanks William,
I've checked both these and I've not found anything to give me any sort of idea as to what is happening.
the only thing I can think of is that my projects are all private.
I did try giving my agent pool admin access to the project that the files exist.
the strange thing though  is I'm able to reference a yml template from the same project without a problem

@markkerins
I had to turn off the "Limit job authorization scope to current project" in "Project Settings" ref: https://docs.microsoft.com/en-us/azure/devops/pipelines/troubleshooting?view=azure-devops#my-pipeline-is-failing-on-a-checkout-step

thanks for this  @paalr
you pointed me in the right direction I ended up having to grant access to  the {project} Build Service user directly
the link you sent me directed me to
https://docs.microsoft.com/en-us/azure/devops/pipelines/build/options?view=azure-devops
where I followed the  instructions here
https://docs.microsoft.com/en-us/azure/devops/pipelines/build/options?view=azure-devops#configure-permissions-to-access-another-repo-in-the-same-project-project-collection


remove unnecessary destruction of original geometry in applyTransforms

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[x] Does your submission pass tests?

I have looked in the source and applyTransforms

it mutates original geometry (I think needlessly so)
it is only used in 10 files
the geometry is not used, only the transformed part (sides, polygons)
there is no need to mutate the original geometry

I have taken just geom2 to demonstrate that it is an easy fix that would make some other things possible and the operation safer.
This is a very low impact change looking at what code is changed to do it. But is is a huge deal to me to keep immutability intact.
related to #859
I hope this direction is acceptable, and if so I would clean the rest of applyTransforms

Just a little background, applyTransforms() was a 'hidden' function initially. And only geom2.toSides() / geom3.toPolygons() / path2.toPoints() would call applyTransforms. Basically, a 'private' function which really isn't private in JavaScript.
Later, there was a need to call applyTransforms(). See core/src/code-evaluation/serializeSolids.js
The reason was to make sure that the transforms were applied BEFORE rendering / exporting solids. (Fixing a bug as rendering has issues with mirroring transforms, etc.)
So, instead of hiding applyTransforms(), the function was exposed as part of the API of each geometry.
I understand why you want to make the changes, and move back to a 'private' function.

Next comment... using 2D geometry as an example. A geometry can be used several times, in any order. So, all functions of geom2 return a new geometry (except applyTransforms()).

create() creates a new geometry
clone() create a new geometry
from*() call create() to create a new geometry
invert() creates a new geometry
transform() creates a new geometry

The only exceptions are applyTransform(), discussed above. And toSides() which is the 'proper' way to access the sides (after applying the transforms).
We have to be very careful to make sure all the functions adhere to the 'immutable' rule.

Last comment... using geom2 as the example again...
Internal storage (sides) and transforms must be maintained carefully. If the transforms change then the sides need to be adjusted to reflect the change in transforms. If the sides change then the transforms need to be adjusted to reflect the change (reset).
We are trying to allow applications to add 'attributes' easily, such as adding a 'color' attribute. That's easy for the users. But what adjustments to the geometry is not clear.
One thing that definitely needs to happen is the reset of the transforms in applyTransforms(). The current logic needs to change to this:
  // mat4.identity(geometry.transforms) // BAD as this modifies the transforms in place, which is not good if shared
  geometry.transforms = mat4.create()

@z3dev if you are ok with this direction, I would like to make the changes so new clone function works and attributes like color are maintained.
serializeSolids would be changed to generate new geometries

new array of polygons/sides is created anyway in current implemention so it would not be a big overhead

at first glance it is not even a big fix, I can do it rather quickly and it would enable some nice future features like connectors

@z3dev if you are ok with this direction, I would like to make the changes so new clone function works and attributes like color are maintained.

I'm not convinced by the small set of changes in this pull request. The APi of the geometry is changed by this pull request, so why keep applyTransforms()? And how do these changes work together with some other changes to enable the maintenance of user attributes?
Maybe you can put this together with some additional changes, and then create some test cases to show that these changes work as expected.
And remember, all test cases have to pass to merge into master.

Ok, since you are not against the direction, I will do the implementation that passes all the tests.
Then we can discuss it along with what I find during the implementation.

FYI, you can proff the changes with just one of the geometries. Maybe path2 is the most difficult. :)

first bump in the road was measureBoundingBox but I think I found a nice solution that could be used in other methods that want cached value to not be copied.
// create a cached bounding box that will not be copied when object is transformed
const setBoundingBox = (geometry, value) => Object.defineProperty(geometry, 'boundingBox', { value, enumerable: false, writable: false })

and small change how it is set on geometry
geometry.boundingBox = [minpoint, maxpoint]
// ---->
setBoundingBox(geometry, [minpoint, maxpoint])

geom3 converted and tests pass.
a tricky bug was found, that was not a problem when applyTransform modified original
in modifiers/generalize the polygons are converted (transform applied) but transforms was not reset in cloned object
clone.transforms = mat4.create()

A little feed back on…
first bump in the road was measureBoundingBox but I think I found a nice solution that could be used in other methods that want cached value to not be copied.
I’m planning on using caches for the measurements, based on #aaa . Performance tests showed that the cache is just as fast as setting an attribute.

in modifiers/generalize the polygons are converted (transform applied) but transforms was not reset in cloned object, so I added the reset there

That's not good... There could be more issues with this approach in the IO libraries. Some extra testing will be required.

in modifiers/generalize the polygons are converted (transform applied) but transforms was not reset in cloned object, so I added the reset there

That's not good... There could be more issues with this approach in the IO libraries. Some extra testing will be required.

which part is not good ? bug or the fix for the bug :) ?
ofc there could be more issues, but those issues are from badly behaved code.
Tests pass so far, and after I change also poly3 I will test the  examples too.
I am fine with doing some extra testing, as it is a significant internal change (but for the better 😃  )

I have added few tests to confirm color is retained after transforms.
The changes are now in place.
I welcome suggestions for cleaning the code maybe and further tests. It is not important to push this quickly, it is better to take time and make it a good solid change.
will test and compare examples
this PR is now beyond just applyTransforms, it also changes how transform works, an Id am happy how it turned out.

I think there will be performance degradation due to these changes. For example...
const geometry = translate([50, 50, 50], geometry)
const epsilon = measureBoundingBox(geometry)
const polygons = geom3.toPolygons(geometry)

This is a very common set of function calls. Even the boolean functions execute these functions for each geometry.
The first call to measureBoundingBox(geometry) calls geom3.toPolygons(geometry) internally. And uses the polygons to perform the calculations.
Note that the original geometry is not changed. It still has the same transforms, and the same polygons.
The second call to geom3.toPolygons(geometry) is called to obtain the polygons for boolean operation.
Each of the calls to geom3.toPolygons(geometry) is going to run the very costly process of applying transforms to each polygon. In the case of measureBoundingBox(), those 'new' polygons are thrown away.
UG

I think there will be performance degradation due to these changes. For example...

Yes that is true for the current implementation of measureBoundingBox, but it could be changed in a small way not only to bring  back performance to the same level but to improve it further.
I could implement measureBoundingBox performance improvements after you merge current cache code for measureBoundingBox.
how would it be done ?
When you have a geometry with thousands of polygons that has a transform it is a good example to compare current approach with the new approach I would propose for measureBoundingBox
1 - Current approach

apply transform to convert 1000 polygons
go through 1000 polygons and calculate boundingBox
return boundingBox

2 - Proposed approach (that would bring performace gains even in current master branch)

go through 1000 polygons and calculate identity-boundingBox
apply transform to identity-boundingBox
return boundingBox

both those approaches cache the final result, but the second approach can be improved even further
2a - For example: if we have 100 copies of this same geometry that is translated all over the scene a further performance improvement could be made by caching the idenitity-boundingBox

check if there is cached identity-boundingBox for the polygons array
if not cached, go through 1000 polygons and calculate identity-boundingBox, then cache it
create new boundingBox from idenitity-boundingBox clone + apply transform
return boundingBox

further steps in this direction
calling toPolygons should be avoided more agressively as it is a costly operation, I have in mind  future proposals where it could be avoided even more

in serializeSolids (renderer could be changed to apply transforms inside GPU)
avoid calling toPolygons in boolean operations (but only for the first geometry) ...

_When you have a geometry with thousands of polygons that has a transform it is a good example to compare current approach with the new approach I would propose for measureBoundingBox
1 - Current approach
apply transform to convert 1000 polygons
go through 1000 polygons and calculate boundingBox
return boundingBox

2 - Proposed approach (that would bring performace gains even in current master branch)
go through 1000 polygons and calculate identity-boundingBox
apply transform to identity-boundingBox
return boundingBox

both those approaches cache the final result, but the second approach can be improved even further_
@hrgdavor this alone is worth changing. this would be a huge performance improvement for many of the heavy functions, like the booleans. how about doing this first?

how about doing this first?

@z3dev  no problem, I'll do it :)

how about doing this first?

@z3dev no problem, I'll do it :)

Sorry. As a separate PR, please. :)

Unfortunately, the method I have described only works for transform matrix that is combination of transform+scale.
Any rotation or skewing will produce incorrect bounding box with this new method.
I will still introduce that PR that will benefit situations where geometry is only translated+scaled, regardless that it can not optimize cases with rotation.
(if possible I will include this optimization for 90,180 deg rotation too)
Also it is still possible to mitigate the issues you mentioned with performance regarding measurements and toPoints.
A simple cache for the toPoints using WeakMap will be suffiecient.
That caching of toPoints is only relevant for this PR, so I will implement it in this PR as performace-hit mitigation.
With this additional caching we still get to have immutability, and avoid the performance degradation.

Closing as code has changed since and this PR needs a fresh start, and maybe even to be split into multiple PRs


Issues with saving NSC Detector text file

Hi,
This is following issue #71
I get the following error on trying to use
self.ln.zGetDetectorViewer(displayData=True,settingsFile=settingsFile,txtFile=txtfile,keepFile=True,timeout=600)

C:\Users\shbhu\AppData\Local\Enthought\Canopy\edm\envs\User\lib\site-packages\pyzdde\zfileutils.py in readDetectorViewerTextFile(pyz, textFileName, displayData)
    649     >>> info, gridData = zfu.readDetectorViewerTextFile(pyz, textFileName, True)
    650     """
--> 651     line_list = pyz._readLinesFromFile(pyz._openFile(textFileName))
    652     # Meta data
    653     detNumSurfNumPat = r'Detector\s*\d{1,4}\s*,\s*NSCG\sSurface\s*\d{1,4}'
C:\Users\shbhu\AppData\Local\Enthought\Canopy\edm\envs\User\lib\site-packages\pyzdde\zdde.py in _openFile(fileName)
  12143     global _global_use_unicode_text
  12144     if _global_use_unicode_text:
> 12145         f = open(fileName, u'rb')
  12146     else:
  12147         f = open(fileName, 'r')
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/shbhu/Desktop/test.txt'

I checked the source code, and this function which GetDetectorViewer() calls -
 ret = self.zGetTextFile(textFileName, 'Dvr', cfgFile, getTextFlag,
                               timeout)

This function runs without error and returns 0. However it is not creating the textFile. Thus the zfileutils are giving an error.
This sends the following DDE command -

            cmd = 'GetTextFile,"{tF}",{aT},"{sF}",{fl:d}'.format(tF=textFileName,
                                    aT=analysisType,sF=settingsFile,fl=flag)
            reply = self._sendDDEcommand(cmd, timeout)

This command runs without error and returns 'OK' when I call it -
cmd = 'GetTextFile,"{tF}",{aT},"{sF}",{fl:d}'.format(tF=loc+'test.txt', aT='Dvr',sF='',fl=0)
However, there is no file generated in the directory specified by 'loc'

ln.zSaveDetector(1,det_zmxobj_no,fileName=txtfile[:-4]+'.ddr')  returns 0 but no .DDR file is created.
Seems to be related?

Hi @indranilsinharoy ,
Best of luck with your new job.
Shubham

@shbhuk This is caused by the number of digits in the exponential for intensity / power values. The code is looking for 3 to 8, while some people have just 2.
@indranilsinharoy The ethernal license problem! I've sent a PR.

Great, thanks!


Issue on graphs examples

Hi. I tried to run the graph classification example but I experienced the following error:
Assertion isReady[VarIdx(p)] failed in src/nn/factor_graph.cpp line 173: required variable ReduceMean_21:out_0 is not ready

I'm trying to run the code on Ubuntu 16.04 and I read from another closed issue that it maybe could be the problem.

Hi, yes I guess that's because of some discrepancy between operating systems. I'll try to figure it out under 16.04.

I encountered a similar error when run the mnist example:

Assertion isReady[VarIdx(p)] failed in src/nn/factor_graph.cpp line 172: required variable ReduceMean_7:out_0 is not ready

My runtime OS is Ubuntu 16.04. Please fix this problem.

The issue is now fixed. Please pull the latest version.
https://github.com/Hanjun-Dai/graphnn/commit/2f2500851fe7692fedeaf26ed815b0c4352d6a15


remove direct routing feature flags

I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.

Great!


🛠 Tooling: dist/ directory includes .test. files

Bug Report Checklist

[X] I have tried restarting my IDE and the issue persists.
[X] I have pulled the latest main branch of the repository.
[X] I have searched for related issues and found none that matched my issue.

Overview
See file changes in #182: the dist/ directory built by build:release includes artifacts from test. This doesn't hurt anything but is a little sloppy IMO.

https://github.com/JoshuaKGoldberg/all-contributors-auto-action/blob/d956a966c3c9d11215b18eb25b4a1c315bf9b051/dist/getExistingContributors.d.ts#L1-L3
https://github.com/JoshuaKGoldberg/all-contributors-auto-action/blob/d956a966c3c9d11215b18eb25b4a1c315bf9b051/dist/getExistingContributors.d.ts.map#L1

Additional Info
cc @johnnyreilly - not something we need to change or account for in https://github.com/JoshuaKGoldberg/create-typescript-app/pull/1196 I don't think, but something to keep in mind maybe?

Yeah I handled it in Schemar by having a test directory: https://github.com/johnnyreilly/schemar/tree/main/test


Mark #signed_in? as a helper method in the application controller

The _top_nav partial relies on #signed_in? however it was not previously available to the view.
https://github.com/jayroh/thredded/blob/e2dc1e1e4a94bb7b98ea80b635e55b4aee5e5dd2/app/views/thredded/shared/_top_nav.html.erb#L8

The build failures seem to be due to a missing SASS variable which should be unrelated to my change.

Rebased after 368c35c4 to solve the build failures.

And the tests didn't catch this because Dummy::ApplicationController defines its own signed_in? helper method. Thanks! :+1:


Testing loadStatus property

Description
The following three samples are tested for use of the loadStatus and loadError properties where applicable:

display-layer-view-state: Bind disable and text properties of various UI elements to the loadStatus property.
wmts-layer: Use property listener in replacement of the addDoneLoadingListener
wms-layer-url: Bind progressIndicator and use property listener to test the loadError property.

Checklist:

[ ] Set target branch to main (current release) or v.next (next release)
[ ] Request a reviewer
[ ] Assign a reviewer
[ ] Tag reviewer in comment

Ready for a first review @Rachael-E, thanks.


How to override !include in YAML file via command line args?

Suppose that I have two YAML files:
f1.yaml:
seed: 123456
config: !include:f2.yaml

f2.yaml:
batch_size: 32
lr: 0.01

How should I pass the command line arguments if I wish to override the batch_size in f2.yaml?
I have tried the following, but it is not working:
python train.py f1.yaml --config {batch_size: 64}

This is a question for the YAML master @pplantinga

This looks related to the issue that @weiwei-ww raised in the hyperpyyaml repository. Maybe @Gastron has something to say here as well.

It is hard for me to offer advice, I think some of the HyperPyYAML features at this point have don't have clearly defined behaviour, particularly when used together.

It is hard for me to offer advice, I think some of the HyperPyYAML features at this point have don't have clearly defined behaviour, particularly when used together.

I understand and thanks for your reply. Nevertheless, I made some modifications directly to the hyperpyyaml package and made it work for now. :-)

Nice, @weiwei-ww, and actually, if the modifications are not just hacks for your particular script, would you consider a PR in the HyperPyYAML repo?

Yes please, feel free to share it!
On Fri, 12 Nov 2021 at 03:38, Aku Rouhe @.***> wrote:

Nice, @weiwei-ww https://github.com/weiwei-ww, and actually, if the
modifications are not just hacks for your particular script, would you
consider a PR in the HyperPyYAML repo?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/speechbrain/speechbrain/issues/1109#issuecomment-966921144,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEA2ZVVU5M7ORGI4TNTDYZTULTHAHANCNFSM5HXT6J4Q
.

Perhaps this is a bit late, but overriding in included files should be possible. In order to do this, the overridden element must be added as a sub-element of the include statement:
seed: 123456
batch_size: !PLACEHOLDER
config: !include:f2.yaml
        batch_size: !ref <batch_size>

batch_size: 32
lr: 0.001

Of course you can get around this in a slightly less safe way by just calling load_hyperpyyaml with the argument overrides_must_match=False

Perhaps this is a bit late, but overriding in included files should be possible. In order to do this, the overridden element must be added as a sub-element of the include statement.

Yes, that is exactly what I am trying to implement. However, in the current implementation, if the !include tag comes with no extra override keys, e.g.:
config: !include:f2.yaml

it will be interpreted as a TaggedScalar class. Then if an override is given via command line args, it will throw an exception.

Nice, @weiwei-ww, and actually, if the modifications are not just hacks for your particular script, would you consider a PR in the HyperPyYAML repo?

Sure, I am happy to contribute. Btw, I also fix the bug that I reported in this issue as well. I need some time to test if my codes do not bring any unexpected errors. If everything works, I will submit a PR to the HyperPyYAML repo.


Dumb Question

How do I log in?   username password?

If you are testing out the alpha, try
username: 1
password: 1
I closed the thread because I think its too early to release even as an alpha build. https://github.com/sethchhim/Kuboo/issues/54

Ha!  See... Dumb question. Thanks

Let me know if you get it up and running. My first feedback was unable to install. :(

It's up.  It's pretty simple.  install Java, run the software.  Go to http://xxx.xxx.xxx.xxx:8080.  Would be nice to be able to change the port.


DataDog intermittent failure when install using PowerShell script

Output of the info page (if this is a bug)
No output since DataDog installation failure

Describe what happened:
Installation finish with Failed to create DD user  error some time (This part from MSI installation verbose log)

CA: FinalizeInstall:  Initialized.
CA: FinalizeInstall:  Creating/opening subkey installRollback
CA: FinalizeInstall:  Creating/opening subkey uninstallStatus
CA: FinalizeInstall:  checking if this is a domain controller
CA: FinalizeInstall:  machine is type SV_TYPE_WORKSTATION
CA: FinalizeInstall:  machine is type SV_TYPE_SERVER
CA: FinalizeInstall:  checking to see if the user is already present
CA: FinalizeInstall:  checking to see if the service is installed
CA: FinalizeInstall:  Requested service does not exist
CA: FinalizeInstall:  custom action initialization complete.  Processing
CA: FinalizeInstall:  Took 1 passes to generate the password
CA: FinalizeInstall:  entered createuser
CA: FinalizeInstall:  Calling NetUserAdd.
CA: FinalizeInstall:  NetUserAdd. 2245
CA: FinalizeInstall:  Failed to create DD user
CustomAction FinalizeInstall returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)

Describe what you expected:
Installation finish without any error (This part from MSI installation verbose log)

CA: FinalizeInstall:  Initialized.
CA: FinalizeInstall:  Creating/opening subkey installRollback
CA: FinalizeInstall:  Creating/opening subkey uninstallStatus
CA: FinalizeInstall:  checking if this is a domain controller
CA: FinalizeInstall:  machine is type SV_TYPE_WORKSTATION
CA: FinalizeInstall:  machine is type SV_TYPE_SERVER
CA: FinalizeInstall:  checking to see if the user is already present
CA: FinalizeInstall:  checking to see if the service is installed
CA: FinalizeInstall:  Requested service does not exist
CA: FinalizeInstall:  custom action initialization complete.  Processing
CA: FinalizeInstall:  Took 2 passes to generate the password
CA: FinalizeInstall:  entered createuser
CA: FinalizeInstall:  Calling NetUserAdd.
CA: FinalizeInstall:  NetUserAdd. 0
CA: FinalizeInstall:  Got SID from ...
CA: FinalizeInstall:  Privilege added
CA: FinalizeInstall:  Privilege added
CA: FinalizeInstall:  Privilege added
CA: FinalizeInstall:  Privilege added
CA: FinalizeInstall:  Got account from sid from BUILTIN
CA: FinalizeInstall:  Attempting to add to group Performance Monitor Users
CA: FinalizeInstall:  Added ddagentuser to Performance Monitor Users
CA: FinalizeInstall:  Got account from sid from BUILTIN
CA: FinalizeInstall:  Attempting to add to group Event Log Readers
CA: FinalizeInstall:  Added ddagentuser to Event Log Readers
CA: FinalizeInstall:  User profile set to: C:\Users\ddagentuser
CA: FinalizeInstall:  attempting to install services
CA: FinalizeInstall:  Installing services
.
.
.

Steps to reproduce the issue:

Install DataDog using this command in PowerShell

$DDInstallationFile = "$env:TEMP\ddagent.msi"

Invoke-WebRequest -Uri "https://s3.amazonaws.com/ddagent-windows-stable/datadog-agent-6-latest.amd64.msi" -OutFile $DDInstallationFile

Start-Process -Wait msiexec -ArgumentList "/qn /i $DDInstallationFile" -NoNewWindow

Additional environment details (Operating System, Cloud provider, etc):
Windows Server 2016 Datacenter on AWS, build using Packer by HashiCorp, connect to instance via WinRM to perform installation by PowerShell
Additional information you deem important (e.g. issue happens only occasionally):
This issue happens randomly when run on the same Windows AMI

We are experiencing this intermitten failure too. Any possible solution?

I generate random password myself to make it meet with host's password policy and override password via DataDog MSI installation parameter
$DDInstallationFile = "$env:TEMP\ddagent.msi"
Add-Type -AssemblyName System.Web
do {
    $password=[System.Web.Security.Membership]::GeneratePassword(30,10)
}
until ($password -match '\d' -And $password -cmatch '[a-z]' -And $password -cmatch '[A-Z]')
Start-Process -Wait msiexec -ArgumentList "/qn /i $DDInstallationFile DDAGENTUSER_PASSWORD=$password"

Thanks @chinkung. After add generate password logic, the problem seems disappeared.

closing since I think this has been fixed.
If DDAGENTUSER_PASSWORD option is not provided then the installer attempts to create a random password, but some password policies are more restrictive and the random password may not be sufficient.
< v7.47 password generator
In Dec 2020 the minimum length was changed from 12 to 16 to help accommodate password policies with larger minimums. https://github.com/DataDog/datadog-agent/pull/6994
>= v7.47 password generator generates a very long password (>128 characters)


Enhance Readme

What's missing in this repository !!
The README file is the first thing users and contributors see when they visit your repository. It serves several key purposes:
Introduction and Overview: It provides a clear and concise introduction to your project, explaining what it does, its purpose, and why it’s valuable.
Installation Instructions: It guides users on how to set up and install the project on their local machines, ensuring they can quickly get started.
Usage Guidelines: It offers detailed instructions on how to use the project, including examples and common use cases.
Contribution Information: It informs potential contributors on how they can contribute to the project, including any guidelines or requirements they should follow.
License Information: It specifies the licensing terms under which the project is distributed, ensuring users and contributors understand their rights and obligations.
Kindly assign this issue to me under GSSoC'24

Hey, these changes are already present, and usage docs are present @ https://gofr.dev/docs


PhoneNumberMetadata.xml url

Had to change 'd' to lower case in bin/global_phone_dbgen line 5

+1

This has been fixed but a new release hasn't been cut yet. Please use master for now if you want to get the new url. Thanks!

Wouldn't it make sense to issue a minor release?

@beauby I'll comment here when we release, but for now master is the most correct.


Update comment to refer to get() instead of the previously removed at().

Nice find! Thanks!

@bors r+

:pushpin: Commit 679fe35 has been approved by BurntSushi

:hourglass: Testing commit 679fe35 with merge 8766926...

:broken_heart: Test failed - status-travis

@bors retry

:hourglass: Testing commit 679fe35 with merge 7c92322...

:broken_heart: Test failed - status-travis

@bors retry

:hourglass: Testing commit 679fe35 with merge 28364ce...

:sunny: Test successful - status-appveyor, status-travis
Approved by: BurntSushi
Pushing 28364ce80ddce8e794d1700c6427bb52fac67354 to master...


Model alias for tables

Currently the model name will be mapped to the table name. The resulting model (before it is stored using gungnir.model/register!) has a property :table which contains the table name. This name is extracted from the key that you register it with.
It could be desirable to have a model name not be the same as a table name. Or possibly even have multiple models for a single table?

It could be desirable to have a model name not be the same as a table name

Yes!
Here's a great example.
In postgres "user" is a reserved word, so you can't make a table like this: CREATE TABLE user (...); you have to do CREATE TABLE "user" (...);  And in every query you must quote it SELECT * from "users" WHERE...;
In my first gungnir model, I tried to define this:
(model/register!
  {:users ;; <--- plural to workaround postgres reserved word
   [:map
    [:user/id {:primary-key true :auto true} uuid?] ;; <--- singular because its much more natural than users
    [:user/email [:re {:error/message "Invalid email"}<EMAIL_ADDRESS>    ...]})

In general I've always followed the convention of plural table names and singular namespaces for the attributes, would love to be able to do this in gungnir.

I agree this really needed, but i think it would be best if the table name doesn't need to be linked to the model name. It's very common, at least on the companies i have worked before, to have prefix for table names.  I like the way honeysql handle tables aliases so maybe we could achieve something similar, for ex:
Table name same as model
(model/register!
  {:user ;; <--- plural to workaround postgres reserved word
   [:map
    [:user/id {:primary-key true :auto true} uuid?] ;; <--- singular because its much more natural than users
    [:user/email [:re {:error/message "Invalid email"}<EMAIL_ADDRESS>    ...]})

Alternative table name
(model/register!
  {[:user :sec_user] ;; <--- plural to workaround postgres reserved word
   [:map
    [:user/id {:primary-key true :auto true} uuid?] ;; <--- singular because its much more natural than users
    [:user/email [:re {:error/message "Invalid email"}<EMAIL_ADDRESS>    ...]})

I think a nice solution would be this format:
(gungnir.model/register!
 {:user
  [:map
   {:table "users"} ;; <<<<< Choose which table to use
   [:user/id {:primary-key true} uuid?]]})

Currently under the hood the :table property already gets set. https://github.com/kwrooijen/gungnir/blob/84feb362f6752cde3e7f78cd6e79a0aebbf5ff57/src/cljc/gungnir/model.cljc#L33-L36
However this is an incomplete feature (which is why it's not documented anywhere). I think in some parts of the code the model key is still used instead of the table name. Once I've implemented https://github.com/kwrooijen/gungnir/issues/5 I can complete this feature.


RUMM-3011: Raise upload limit to 100MB for US1 datacenter

What does this PR do?
This change raises upload limit for US1 datacenter only to 100 MB (and bumps timeout to 60s for all DCs). This is temporary change, because once all DCs are able to support large uploads, this limits will be aligned.
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #142 (4a16ed6) into develop (b381c3f) will increase coverage by 0.07%.
The diff coverage is 100.00%.

@@              Coverage Diff              @@
##             develop     #142      +/-   ##
=============================================
+ Coverage      86.25%   86.32%   +0.07%
- Complexity       174      175       +1
=============================================
  Files             21       21
  Lines            560      563       +3
  Branches          72       73       +1
=============================================
+ Hits             483      486       +3
+ Misses            49       48       -1
- Partials          28       29       +1

Impacted Files
Coverage Δ

...m/datadog/gradle/plugin/internal/OkHttpUploader.kt
83.02% <100.00%> (+0.49%)
:arrow_up:

...com/datadog/gradle/plugin/DdAndroidGradlePlugin.kt
74.14% <0.00%> (-0.86%)
:arrow_down:

...in/kotlin/com/datadog/gradle/plugin/DatadogSite.kt
92.31% <0.00%> (+7.69%)
:arrow_up:


Support string parameters with direction=out

The internal functions have a signature such as out NonNullablePlatformStringUnownedHandle, corresponding to the native signatures like const gchar **

Introduce a "post-call" expression for parameters, which is used to take the resulting string handle and assign handle.ConvertToString() to the original out string parameter

As with primitive value types, optional parameters are just generated as a normal out parameter that the caller can ignore with out var _ if desired

A direction of inout, or caller-allocates=1, is still not supported due to the issues noted in ParameterToNativeExpression/Converter/Utf8String.cs. These are low priority since inout string parameters only occur for deprecated functions, and g_unichar_to_utf8 is the only function with caller-allocates=1

Bug: #791

[x] I agree that my contribution may be licensed either under MIT or any version of LGPL license.

Looks good to me. I wonder if we should add explicit disposal of the unmanaged memory via calling Dispose (see commens)? If you agree you can add those changes in an additional commit as they are optional.


Allow subsetting for summaries

Currently summaries are all-or-nothing. It might be worthwhile to allow summaries to use standard subsetting.

Feature for v.0.1.0 in https://github.com/HHammond/PrettyPandas/pull/40

:boom: Added!


WIP: add tests to bitte

Breaking changes make me not happy

I haven't updated this yet to the latest master due to evaluation errors.


feat: add version checker

on launch, check if slidesk is on the last version

Done in the next version ;)


The horizontal list example doesn't work

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce

Go to https://docs.flutter.dev/cookbook/lists/horizontal-list
Run the example

Expected results
The list should be scrollable horizontally
Actual results
The list can't be scrolled
Code sample
Code sample
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    const title = 'Horizontal List';

    return MaterialApp(
      title: title,
      home: Scaffold(
        appBar: AppBar(
          title: const Text(title),
        ),
        body: Container(
          margin: const EdgeInsets.symmetric(vertical: 20),
          height: 200,
          child: ListView(
            // This next line does the trick.
            scrollDirection: Axis.horizontal,
            children: <Widget>[
              Container(
                width: 160,
                color: Colors.red,
              ),
              Container(
                width: 160,
                color: Colors.blue,
              ),
              Container(
                width: 160,
                color: Colors.green,
              ),
              Container(
                width: 160,
                color: Colors.yellow,
              ),
              Container(
                width: 160,
                color: Colors.orange,
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[√] Flutter (Channel stable, 3.10.2, on Microsoft Windows [Version 10.0.19045.3208], locale en-US)
    • Flutter version 3.10.2 on channel stable at D:\SET_UP\Flutter\flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 9cd3d0d9ff (4 months ago), 2023-05-23 20:57:28 -0700
    • Engine revision 90fa3ae28f
    • Dart version 3.0.2
    • DevTools version 2.23.1

[√] Windows Version (Installed version of Windows is version 10 or higher)

[X] Android toolchain - develop for Android devices
    X Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[X] Visual Studio - develop for Windows
    X Visual Studio not installed; this is necessary for Windows development.
      Download at https://visualstudio.microsoft.com/downloads/.
      Please install the "Desktop development with C++" workload, including all of its default components

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/windows#android-setup for detailed instructions).

[√] Connected device (3 available)
    • Windows (desktop) • windows • windows-x64    • Microsoft Windows [Version 10.0.19045.3208]
    • Chrome (web)      • chrome  • web-javascript • Google Chrome 116.0.5845.180
    • Edge (web)        • edge    • web-javascript • Microsoft Edge 115.0.1901.200

[√] Network resources
    • All expected network resources are available.

! Doctor found issues in 3 categories.

I couldn't reproduce the described issue

The problem appears to be only on the web, perhaps on the desktop (needs testing).

@thcbk
I was able to scroll the list.
Increase the number of containers to 12 or above, or decrease the screen size.

@Karthikeyanarla @thcbk The problem seems to occur when the page is not responsive
https://github.com/flutter/flutter/assets/50643541/eac0c7b6-b689-4c35-b738-8fe73f227d06

Thanks for the report. I was able to replicate the reported behavior on desktop and web platforms, as running the example code as-is doesn't let you scroll. After adding more Container items still doesn't scroll.
It works well on mobile platform.

 stable, master flutter doctor -v
[!] Flutter (Channel stable, 3.13.2, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 3.13.2 on channel stable at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ff5b5b5fa6 (7 days ago), 2023-08-24 08:12:28 -0500
    • Engine revision b20183e040
    • Dart version 3.1.0
    • DevTools version 2.25.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[!] Flutter (Channel master, 3.14.0-14.0.pre.212, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 3.14.0-14.0.pre.212 on channel master at
      /Users/dhs/documents/fluttersdk/flutter
    ! Warning: `flutter` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/flutter, which is not inside
      your current Flutter SDK checkout at
      /Users/dhs/documents/fluttersdk/flutter. Consider adding
      /Users/dhs/documents/fluttersdk/flutter/bin to the front of your path.
    ! Warning: `dart` on your path resolves to
      /Users/dhs/Documents/Fluttersdk/flutter/bin/dart, which is not inside your
      current Flutter SDK checkout at /Users/dhs/documents/fluttersdk/flutter.
      Consider adding /Users/dhs/documents/fluttersdk/flutter/bin to the front
      of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision ffe1ebd207 (67 minutes ago), 2023-09-11 03:46:15 -0400
    • Engine revision 1aa11b6448
    • Dart version 3.2.0 (build 3.2.0-134.0.dev)
    • DevTools version 2.27.0
    • If those were intentional, you can disregard the above warnings; however
      it is recommended to use "git" directly to perform update checks and
      upgrades.

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/dhs/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for
      more details.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13C100
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] IntelliJ IDEA Ultimate Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 65.1.4
    • Dart plugin version 213.7228

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.29.0

[✓] Connected device (3 available)
    • Darshan's iphone (mobile) • 21150b119064aecc249dfcfe05e259197461ce23 • ios
      • iOS 15.3.1 19D52
    • macOS (desktop)           • macos                                    •
      darwin-x64     • macOS 12.2.1 21D62 darwin-x64
    • Chrome (web)              • chrome                                   •
      web-javascript • Google Chrome 109.0.5414.119

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

@darshankawar are you not able to scroll with a mouse? Mouse wheel, drag, trackpad? I just checked on web/desktop and it scrolled fine.

Since this is in the cookbook, transferring to flutter/website.
I suspect the issue is that the mouse wheel does not scroll the horizontal list when on desktop or web+desktop. This would be working as intended since a mouse scroll wheel is vertical input. The cookbook may just need to mention you can hold shift to scroll horizontally with a mouse wheel. Will need confirmation if that is the actual issue here.


Update Jupyterhub version to 1.2.1(latest)

Is your feature request related to a problem? Please describe.
The current JupyterHub version
doesn't seem to support some of the monitoring metrics that have been added and made available in the latest JupyterHub version (1.2.1).
Describe the solution you'd like
Update the JupyterHub version to 1.2.1 (latest).
Describe alternatives you've considered
None
Additional context
We would like to take advantage of these new metrics as it would be useful for our Operate First monitoring purposes. Related issue here.

@vpavlin

Thanks, we'll take a look at this

It would be great to review the requirements.txt and update everything that needs to be updated.


Update package.json

For https://github.com/ipfs-shipyard/npm-on-ipfs/issues/51

@achingbrain just noticed that with this new version, there are 0 tests.. not good. What's the plan?

I have mixed thoughts about 'npm' being in the name of this module.  We're all friends but it is the trademark of a private company.  npm has become synonymous with the registry which helps discovery, but the npm registry itself is an implementation of a CommonJS Package Registry which can be used with yarn and whatever XYZ new registry tool.
At the very least, to comply with their trademark policy it should be ipfs-npm-registry but it's a bit of a mouthful so registry-mirror to me seemed ok.

Oh, good point. Thanks for catching that and bringing that up. Can you open a issue to track this rename proposal?


[SPARK-15824][SQL] Run 'with ... insert ... select' failed when use spark thriftserver

What changes were proposed in this pull request?
Dataset.collect will call withNewExecutionId and InsertIntoHadoopFsRelationCommand also will call withNewExecutionId, then for below SQL will cause IllegalArgumentException(spark.sql.execution.id is already set")
create table src(k int, v int);
create table src_parquet(k int, v int) stored as parquet;
with v as (select 1, 2) insert into table src_parquet from src;

Usq spark-sql don't have this problem, so do as spark-sql on thriftserver.
How was this patch tested?
Will add UT later

Test build #60172 has started for PR 13561 at commit 0f66322.

Test build #60172 has finished for PR 13561 at commit 0f66322.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60172/
Test PASSed.

Test build #60176 has started for PR 13561 at commit 5091d00.

Test build #60177 has started for PR 13561 at commit 31212da.

Test build #60176 has finished for PR 13561 at commit 5091d00.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60176/
Test FAILed.

Test build #60177 has finished for PR 13561 at commit 31212da.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60177/
Test PASSed.

@davies @rxin Can you review the code for this?

retest this please

Test build #60445 has started for PR 13561 at commit 31212da.

Test build #60445 has finished for PR 13561 at commit 31212da.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/60445/
Test PASSed.

Merged build finished. Test PASSed.

@Sephiroth-Lin thanks for working on this. What I do not understand is, is that the current code path and the code path in 1.6 are generally the same. Any idea why this is surfacing now?

Just tried it in Databrick CE Spark 1.6.1 and I can reproduce the bug there. The funny thing is that the WITH clause actually matters; if you remove it the query works fine.


Disabling "Use animations" has unintended side effects on other packages

This was first reported in issue https://github.com/silvestreh/atom-material-ui/issues/131- however, we were unable to collectively pin point why certain users could/couldn't reproduce the bugs.
After setting up a new machine and doing a fresh install - I was able to deduce that the "Use animations" being disabled was the culprit. I'm assuming other packages might have dependent events and event listeners on their UI elements that get overridden and thus "breaking" their packages.
The offending style:
atom-workspace:not(.use-animations) *,
atom-workspace:not(.use-animations) *::before,
atom-workspace:not(.use-animations) *::after{
    transition:none !important;
    -webkit-animation-duration:0s !important;
}

I'd suggest maybe targeting elements(buttons, inputs, etc) more specifically, rather then simply disabling all transitions/animations on a global scope.

I can confirm that turning on animations fixed #225 for me

Thanks @James-Byrne. Now I have another reason to fix this one 😀


Delete resources in reverse order

The change you made works great, but if the resources in the manifest file depend on creation order, the deletion should be in reverse order, this PR addresses that.
I have tested, and it works like a charm.
This PR merges against #21
Thanks for the quick turnaround you've provided!

@ericchiang any updates here?

none yet. I still need to get a cluster up so I can test #21

I can send you privately credentials to a test cluster.
I've used this manifest to create & delete resources https://github.com/giantswarm/kubernetes-prometheus/blob/master/manifests-all.yaml


Problem with container:reorder ?

Hi,
(I'm binbinhfr on reaper forum)
Working with my list of files, I bumped into a problem with container:reorder.
I look at the code, and found something strange :
in line   576 you have this :    targetidx = targetidx - 1  (if moving down into the table)
I'm not sure that it should be there, because table.insert always inserts before the given position.
example here :
function move(t,n1,n2)
  print("step1 ", table.unpack(t))
  local obj = table.remove(t,n1)
  print("step2 ", table.unpack(t))
  table.insert(t,n2,obj)
  print("step3 ", table.unpack(t))
end

move({"a", "b", "c", "d", "e"}, 3, 4)  --> a       b       d       c       e
move({"a", "b", "c", "d", "e"}, 1, 5)  --> b       c       d       e       a
move({"a", "b", "c", "d", "e"}, 2, 1)  --> b       a       c       d       e
move({"a", "b", "c", "d", "e"}, 3, 6)  --> a       b       d       e   crash...

the first and second calls do the job without substracting 1 to n2.
and the last call crashes because you cannot give to table.insert an index > #t.
so your clamping to #self.children + 1 just after is also strange.
but maybe something is not clear to me...
the code that finally works for me in a RTK viewport list is :
function rtk.Container:reorder(widget, targetidx)
  local srcidx = self:get_child_index(widget)
  if srcidx ~= nil and srcidx ~= targetidx then
      local widgetattrs = table.remove(self.children, srcidx)
      if targetidx > #self.children then
        table.insert(self.children, widgetattrs)
      else
        table.insert(self.children, rtk.clamp(targetidx, 1, #self.children), widgetattrs)
      end
      self._child_index_by_id = nil
      self:queue_reflow(rtk.Widget.REFLOW_FULL)
      return true
  else
      return false
  end
end

The reason I'm clamping to #self.children + 1 is because that is the index needed to append to the end of the table.  Your example isn't working because, indeed, after you call table.remove(), n2=6 exceeds the bounds allowed by table.insert().  But my implementation of rtk.Container:reorder() evaluates #self.children after table.remove().   Consequently, #self.children+1 is a valid index for table.insert() at that point.
The implementation considers targetidx as the index in current list before the removal.  So if you have A, B, and C children and you want B to go after C, before the move that's at index 4, so you'd use 4 as targetidx.  The behavior here is technically working as designed, but I'll be honest, I can't recall why I implemented it this way (probably going back 4 years now for this particular logic -- I use this function in Reaticulate for drag-and-drop reordering of banks assigned to the track), and I definitely agree it doesn't make sense and it needs to be changed.
The implementation can be a bit simpler than what you have:
function rtk.Container:reorder(widget, targetidx)
    local srcidx = self:get_child_index(widget)
    if srcidx ~= nil and srcidx ~= targetidx then
        local widgetattrs = table.remove(self.children, srcidx)
        table.insert(self.children, rtk.clamp(targetidx, 1, #self.children + 1), widgetattrs)
        self._child_index_by_id = nil
        self:queue_reflow(rtk.Widget.REFLOW_FULL)
        return true
    else
        return false
    end
end

The challenge I face now is that this is a breaking API change.  Existing scripts that depended on these weird reorder() semantics will break if I fix the logic.
I think perhaps I could try my luck here.  There aren't very many scripts using rtk yet, and of the handful I skimmed (at least those I know about), none of them seem to be using reorder().  So I just might get away with fixing it without pissing anyone off. :)

ok, for the clamping. I had to read some more doc about LUA to understand that LUA table size can be more than its actual content's size. Quite disturbing, but ok. ;-)
I also understood that you should have a good reason to implement it with this logic, because obviously your Rearticulate is working with it. But I had a hard time understanding why my use of reorder was not working at all when reordering to higher positions. ;-)
If it's not a problem for you, you can left it as it is. Thanks to LUA, I have redefined your function rtk.Container:reorder(widget, targetidx) in my script, so that it works now more accordingly with my logic :-)

I had to read some more doc about LUA to understand that LUA table size can be more than its actual content's size. Quite disturbing, but ok. ;-)

Depends what you mean by this.  #t does reliably return the number of positional elements in table t.  The index taken by table.insert() supports exactly 1 greater than #t  for the append case.  I think that's all that's relevant here.
Lua tables -- somewhat uniquely as far as I can tell -- simultaneously support both positional elements (like arrays/lists) and named elements (like maps/dictionaries).  #t only refers to the count of positional elements, not named elements, so this may be what you were reading about.  I wouldn't call it disturbing, but it was definitely a surprise for me when I was first learning Lua.  Now that I have more experience with Lua under my belt, I understand this design decision, and in fact rtk exploits it in places.

If it's not a problem for you, you can left it as it is.

No, I definitely agreed it was confusing and should be changed.  Maybe that got lost in translation?  I did commit the fix last night, which is why this issue got closed.  This change will land in rtk v1.3.0, which, unless I find some showstoppers in final testing, I will release today.

Thanks to LUA, I have redefined your function rtk.Container:reorder(widget, targetidx) in my script, so that it works now more accordingly with my logic :-)

Just beware that your implementation of reorder() will break reorder_before() and reorder_after().  You can see in the commit linked above that I did also update these functions to adapt to the change in reorder()'s logic.  But anyway, you won't need to monkeypatch rtk with this change once switch to the upcoming v1.3.0.

oh, I did not realize about this #t+1 used for adding at the end of the queue, because it does not seem to be described here :
https://www.lua.org/pil/19.2.html
BTW, do you have a more precise and more formal/complete doc about lua than this website ?
Thanks for changing the code. As soon as it will be released, I will erase my "patch".

BTW, do you have a more precise and more formal/complete doc about lua than this website ?

I wish I did.  I've never been terribly impressed by Lua's documentation and I don't think I've ever seen a formal specification.
So it's off to Lua's source code, and the relevant function is:
https://github.com/lua/lua/blob/v5.3.6/ltablib.c#L79:L103
There we can see that e is set to, effectively, #t+1 and with the 2-argument append-to-table form of table.insert(), e is used, but you can also explicitly pass this index in the 3-argument form.  The bounds checking allows the index to be e but not further.
In other words, these two lines are semantically equivalent:
t[#t+1] = 'foo'
table.insert(t, #t+1, 'foo')

Thanks for changing the code. As soon as it will be released, I will erase my "patch".

It's out now :)

Just testedand it works. Again our posting crossed at the same moment in the abysses of the Atlantic Ocean.


Scope Providers for textX

See CHANGELOG.md and documentation in new file scoping.py:
I would like to discuss how to integrate the ideas of abstracting the scoping out of the model.py module. I propose how this could work in order to easily allow

full qualified name lookups
relative lookups (e.g. instance.method)
distribution of the model across different files (global and import scope provider)
and automatically selecting the right metamodel based on file extensions (mixing models)

Hi Pierre. Thanks for the contribution. Great work!
I'll review and provide detailed comments ASAP.

I would also like to ask @aranega who is doing great work on textX/ECore integration to take a look at this PR and comment if he sees anything that could cause problems in later integration of branches.

Thank you for the feedback.
I tried to account for most of your points.
For the following:

"docstrings/style": (state = ongoing...)
--> if you could point out some major flaws, I have a starting point to rework the comments.
"docstrings/doc": (state = ongoing...)
--> I will move some documentation from docstrings to the manual
"git history ... cleaned up": (postponed)
--> it is OK for me to squash all commits at the end...

I have not fully understood, what the code in model.py does, concerning the "pos_index += 1" bug you found. However, I would appreciate to be able add a unit test to detect this error (if I comment out the line, all tests pass). Do you have a hint what the test could look like?

@goto40 For e.g., if you have a grammar with a rule which contain a list of references to other rule, we are tracking positions of each referenced rule in the model separately. Before the fix, every CrossRefObj instance had the position of the first referenced rule. Can you please show us which test is failing?

@danixeee If I understood correctly the problem is that there is no test for this feature, thus @goto40 mistakenly removed part of it and didn't notice that there is a problem. @danixeee could you write a test to verify that this feature works as expected?

@igordejanovic I will try to perform a merge and check the PR as soon as possible. From what I saw, there is a chance that some commits break parts of the textX-PyEcore integration, but don't worry about it. As this PR provides new features to textX, I need to see how to align the integration with those. Also, I will perform the merge on my side to be sure the later integration will work as intended.

@aranega great! Thanks. We plan to squash commit this branch at the end to clean up history so you might wait a bit until that is done before merging with your branch.

Current state:

doc strings adapted
docs moved to (new) scoping.md and added link to index.md

@goto40 thanks for the fast response. I'll try to re-review everything in the next days. @danixeee has make some change to the textx-tools support and provided test. It is now integrated to the master branch so you can rebase your work on top of that and see if the tests pass.

Test integrated.

@goto40 Much better! I have some more suggestions for improvements:

Please see inline comment.
introduce package textx.scoping where all general code would go to textx.scoping.__init__.py, providers will go to textx.scoping.providers.py and scoping_tools will be textx.scoping.tools.py. I think this will make code more organized.
I'm against very long names (especially if they are camel case). I think they impede readability. If all providers go to providers.py then I suggest shortening like:

ScopeProviderWithImportURI -> SPImportURI
ScopeProviderFullyQualifiedNamesWithImportURI -> SPFullyQualifiedNameImportURI
etc.
Since all providers are in providers module maybe dropping SP prefix. Not sure about that.

There are still PEP-8 violations regarding the length of lines. PEP-8 proposes 79 chars per line and textX adhere to that. Helps with viewing two files side by side or viewing diffs in tools that don't use wrapping. If you don't want to fiddle with those just let me know and I'll fix it at the end.

Nice idea to move everything in one package "scoping". I hope I fixed all occurrences also in the docs.
I have omitted the "SP" as prefix for the scope providers. If you prefer the prefix it can be added easily. However using "providers.FQN()" looks very nice!
I also tried to fix the other issues. Should be ok now. Some line lengths issues were not so nice to solve...

@goto40 Thanks for your swift actions. Your name shortening looks really nice. Now the code looks much cleaner and more readable.
Yeah, keeping lines under 80 chars can be tricky sometimes.  :)
I'm a bit busy at the moment but will try to find some time to do another round of detailed review in the next few days. After that, the last step would be history cleanup.

Maybe have a look at the last comment. FYI: the filename is set at one location now. Previously it was set after converting the parse_tree, then set to None in "model_from_str" and the reset to the filename in "model_from_file".

Maybe have a look at the last comment. FYI: the filename is set at one location now. Previously it was set after converting the parse_tree, then set to None in "model_from_str" and the reset to the filename in "model_from_file".

That looks good to me. Everything looks good. No further suggestions/corrections from me.

@igordejanovic sorry for the delay, I have still a lot going on, days or way too short...
I saw the squased version, and, indeed, it will have a non-negligeable impact on the PyEcore integration (there is some new concepts that are existing in PyEcore, and that I need to "align"), but don't worry about it! As soon as I can, I will try to seam everything, and hopefully, it will work :).

Closed in favour of #57


build script always re-executed

Hi!
First of all, thank you for this great library!
I open this issue because it seems that the build script is always retriggered (see example).
I guess it's due to those lines. I'm not super sure about it, but it seems that those files aren't changed, they might just be overwritten, making cargo think that they are changed, are re-trigger the build.
Is this an expected behaviour ?
Example
Here is what I get if a create a simple hello world, add hyphenation to the dependencies and compile it twice in a row.
╭── thomas::~/hyphentest ‹master*›
╰▶  cargo build # First build
    Updating crates.io index
   Compiling proc-macro2 v0.4.30
   Compiling unicode-xid v0.1.0
   Compiling syn v0.15.34
   Compiling num-traits v0.2.6
   Compiling serde v1.0.91
   Compiling byteorder v1.3.1
   Compiling autocfg v0.1.2
   Compiling fnv v1.0.6
   Compiling bincode v1.1.4
   Compiling quote v0.6.12
   Compiling serde_derive v1.0.91
   Compiling atlatl v0.1.2
   Compiling hyphenation_commons v0.7.1
   Compiling hyphenation v0.7.1
   Compiling hyphentest v0.1.0 (/home/thomas/hyphentest)
    Finished dev [unoptimized + debuginfo] target(s) in 48.89s
╭── thomas::~/hyphentest ‹master*›
╰▶  cargo build # Second build
   Compiling hyphenation v0.7.1
   Compiling hyphentest v0.1.0 (/home/thomas/hyphentest)
    Finished dev [unoptimized + debuginfo] target(s) in 0.58s

As you can see, on the second compilation, hyphenation is re-compiled.

The problem is that build.rs prints the following line: cargo:rerun-if-changed=hyphenation_commons/src/dictionary.rs. If you download the sources for the 0.7.1 crate (with cargo-clone for example), you'll notice that there's no hyphenation_commons directory in the root. And, unfortunately, it seems that cargo thinks that a missing path always changes.

I discovered another quirk: the 0.7.1 crate ships a target directory (that weighs 83 MiB)!

I've fixed #24, #18, #19, #20 and #16 in my own fork.

As of 8c88e8971b0f1684677304c13896b90c574b1584, hyphenation should no longer rebuild unless requested (via build_dictionaries) or required (for changes in the normalization form).
(It took a while. Thank you for your patience.)

You rock, thanks :)


add support for yonaskolb/Mint

Looks to be one line to support https://github.com/yonaskolb/Mint
I'm looking to use this as part of macOS and Linux pipelines. Keeping things as Swift as possible (no gems, homebrew) is a goal.

This has been fixed by 0b49debec97c762a86f64de68653fa0aac35d8bd.


[MOD] Would a script for convenient hashtags be useful for KES?

Discussed in https://github.com/aclist/kbin-kes/discussions/69

Originally posted by minnieoo July 13, 2023
so i started making this personal script a few weeks ago on and off for myself. its purpose is to allow me to store hashtags i use often nearby, able to be copied, deleted, or edited, so that i dont need to retype them for every post, or open a notepad where i could alternatively keep them. its all for convenience.
features:

label your tags
delete, edit, and easily copy your tags
paste tags (you previously could not paste tags, you must type them individually and click enter. the script automatically separates them)

i am attaching a video to showcase some of it's functionality, but it is unfinished. currently it doesn't store the tags (they will be gone upon leaving the page/refreshing), nor can they be edited, but i am getting to that.
my question is should I consider adding this to KES when i'm done? would anyone find it useful? or shall i keep it personal?
https://github.com/aclist/kbin-kes/assets/137783738/e8ae560c-8d85-4ad4-9006-5fd97ce5f459

I could see this being useful. I have some thoughts though.

The first is to break the label and tags field into two separate fields. Just help preempt any user confusion (I had to watch twice to understand what was going on).
Perhaps also adding a icon next to the word 'Tags' to select your desired tag favorites from a modal?

@minnieoo

thanks for your input guys :D


Add processor for exporting documents via TDE

As part of getting data out of MarkLogic, it'd be nice to be able to use /v1/rows and a TDE plan. This is currently a little difficult though:

You need a serialized plan as an input to /v1/rows; generating one of those isn't that easy
You have to use InvokeHttp, which means duplicating some of the authentication information that's already in a DatabaseClientService
ExecuteScript - TBD, I need to find out if it's possible to refer to Java Client classes via Class.forName; this would be ideal because then the DatabaseClientService can be reused

A custom processor may be the right solution if ExecuteScript (or InvokeScriptedProcessor) can't be used because of the difficulty of referencing Java Client classes (I don't like the approach of referencing a jar on the filesystem).
The challenge with a custom processor though would be exposing the right set of properties to allow a user to build any sort of plan with any TDE template.

Will address this in a PR to https://github.com/marklogic-community/marklogic-nifi-incubator

Replaced by https://github.com/marklogic-community/marklogic-nifi-incubator/issues/8