How to start Dashboard project & bot proj in one ubuntu server

Hey! I got a question, how can I run a Dashboard project and a bot project on the same server (ubuntu server 20.04), if the projects are in different folders.
concurrently does not work, gives the error mongoose is not default import, if you fix it, then mongoose is default import, help!
Thanks in advance!

You would host the API on its own, as it comes with a prebuilt dashboard.


Fix fastMerge not correctly merging all nested null values

@paultsimura
Details

Previously fastMerge wouldn't recursively call itself when merging an object with a target value of undefined or null. Therefore, nested null values wouldn't be removed either, because this only happens if we use fastMerge for nested keys and not set the value directly.
This PR fixes this issue, renames some variables for more clarity and adds comments to further explain the code.
It also adds 3 more unit tests, that @paultsimura suggested in https://github.com/Expensify/react-native-onyx/issues/301#issuecomment-1987950312 and https://github.com/Expensify/react-native-onyx/issues/301#issuecomment-1988689209.
Related Issues

https://github.com/Expensify/react-native-onyx/issues/508
Automated Tests

Manual Tests

Author Checklist

[ ] I linked the correct issue in the ### Related Issues section above
[ ] I wrote clear testing steps that cover the changes made in this PR

[ ] I added steps for local testing in the Tests section
[ ] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I followed the guidelines as stated in the Review Guidelines
[ ] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] I verified that if a function's arguments changed that all usages have also been updated correctly
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

This PR fixes only the problem in fastMerge, this doesn't fix the inconsistency between Onyx.merge and Onyx.mergeCollection.
Thinking about this, there might also be a discrepancy between Onyx.set and Onyx.multiSet. I'm gonna touch on that in another PR as well.

@paultsimura i can't reproduce the issue from https://github.com/Expensify/react-native-onyx/pull/408#issuecomment-1785038665, so i think this PR should be ready for merge!


Multiline ComboBox

There's currently no component that support multiline content in a combobox / dropdown. I couldn't find anything pointing in this direction on https://www.carbondesignsystem.com either.
A potential solution could be to introduce a variant for the ComboBox component. I played around with it, and the following would roughly cover my current use case (being a 3-line item entry):
diff --git a/node_modules/carbon-components-svelte/src/ComboBox/ComboBox.svelte b/node_modules/carbon-components-svelte/src/ComboBox/ComboBox.svelte
index be693f3..f92fcae 100644
--- a/node_modules/carbon-components-svelte/src/ComboBox/ComboBox.svelte
+++ b/node_modules/carbon-components-svelte/src/ComboBox/ComboBox.svelte
@@ -363,7 +363,7 @@
               highlightedIndex = i;
             }}"
           >
-            {itemToString(item)}
+            {@html itemToString(item)}
             {#if selectedItem && selectedItem.id === item.id}
               <Checkmark16 class="bx--list-box__menu-item__selected-icon" />
             {/if}

It also requires some additional css, but that doesn't necessarily have to live in carbon-components-svelte.
.bx--list-box__menu-item,
  .bx--list-box__menu-item__option {
    //<EMAIL_ADDRESS>    height: rem(2 * 40px);
    line-height: 1.2rem;
  }

The result is such we can have something like this:

The minimal change in carbon-components-svelte to support my use case would be to allow @html as the item content.
What do you think about something like this? Do you have any other plans? Is there another way to achieve this?

I'm inclined to use slots over @html so the consumer has full control.

That's even better :pray:

Released in v0.62.0.
Single-line, custom slot
<ComboBox
  titleText="Contact"
  placeholder="Select contact method"
  items={[
    { id: "0", text: "Slack" },
    { id: "1", text: "Email" },
    { id: "2", text: "Fax" },
  ]}
  let:item
  let:index
>
  {item.text} {item.id} {index}
</ComboBox>

Multi-line, custom slot
To achieve a multi-line row, you will need to override the height of .bx--list-box__menu-item, .bx--list-box__menu-item__option (it seems you are already doing this based on the screenshot provided).
<ComboBox
  titleText="Contact"
  placeholder="Select contact method"
  items={[
    { id: "0", text: "Slack" },
    { id: "1", text: "Email" },
    { id: "2", text: "Fax" },
  ]}
  let:item
  let:index
>

    {item.text}

    id: {item.id} - index:
    {index}

</ComboBox>


fix: content overflow in Animator

🛠 Fixes Issue
Closes #270

👨💻 Changes proposed

Added 'flex-wrap' to 'radio-group' and 'duration-label' to prevent content overflow

✔ Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

Added width and display: flex' to 'animation-radio-label' for alignment!

📷 Screenshots

:tada: This PR is included in version 2.13.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Feature/transactionspage/victoria

Created the start of the transactions page. Has a chart that can be filtered by month.
https://trello.com/c/UHgYHeRl

 Component: Dashboard / Home


Spam.

Hello, I tested this local and it did work, but after putting it on my live server it spams:
http://i.imgur.com/nsut19v.png
What is the issue?

Hi,
thanks for your report. I do not know how this plugin would output that
kind of messages. Are you 100% positive it's not another plugin doing that?
QuietCord should prefix all its messages with [QuietCord].
If this is sensible in your environment, try removing all plugins but
QuietCord and see if the issue persists. I recommend doing this late at
night, when no players are online.
-- Above message was sent from my mobile phone. There may and will be all
kinds of errors included.
On 11 Oct 2015 11:14, "ChavitaHD"<EMAIL_ADDRESS>wrote:

Hello, I tested this local and it did work, but after putting it on my
live server it spams:
http://i.imgur.com/nsut19v.png
What is the issue?
—
Reply to this email directly or view it on GitHub
https://github.com/xxyy/quietcord/issues/3.

Well it only happens on a refresh on the servers list so on a ping.

It might be debug messages by another plugin. I am quite positive that
these messages are not produced by QuietCord. Have you tried running the
server without other plugins, or without QuietCord? If the issue persists
without QuietCord installed, we can be sure that it is not causing these
weird messages. Please test that when you can.
-- Above message was sent from my mobile phone. There may and will be all
kinds of errors included.
On 11 Oct 2015 18:59, "ChavitaHD"<EMAIL_ADDRESS>wrote:

Well it only happens on a refresh on the servers list so on a ping.
—
Reply to this email directly or view it on GitHub
https://github.com/xxyy/quietcord/issues/3#issuecomment-147221171.

I am going to do said test.

Seems like it could be caused by the plugin ServerInfo by joehot200. The issue has been fixed in the latest version of the plugin: https://www.spigotmc.org/threads/serverinfo.7362/page-7#post-1098362


operator project-quay (3.9.0-nightly.20230501)

Add 3.9.0-nightly.20230501 to community operators

/merge possible


⚠ Bofrost.at has degraded performance

In 3bf2558, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2575 ms

Resolved: Bofrost.at performance has improved in 80372fb.


Could not find a method to actively destroy the connection

I can't find a way to destroy the link I created with the NewClientWithConfig function. How long does this link exist by default? What would be the problem if created infinitely?

At present, when I am building http.transport{}, it is controlled by IdleConnTimeout.
http.transport.go

IdleConnTimeout time.Duration

@Meng-Xin, the library does not keep alive any connections during the lifetime of the Client. The connections are made only when you do API calls. Streaming calls like CreateChatCompletionStream and CreateCompletionStream create streams that keep an open connection, but they also have the Close() method to close the connection.
I hope that helps!

learned, thanks


Vagrant rkt demo has multiple private IPs assigned and uses etcd proxy

Running the rkt vagrant demo and eth1 has both a 172 and a 192 address assigned:
core@calico-01 ~ $ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet <IP_ADDRESS>/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:db:fa:4a brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic eth0
       valid_lft 86256sec preferred_lft 86256sec
    inet6 fe80::a00:27ff:fedb:fa4a/64 scope link
       valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:41:41:1a brd ff:ff:ff:ff:ff:ff
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global dynamic eth1
       valid_lft 1049sec preferred_lft 1049sec
    inet <IP_ADDRESS>/24 brd <IP_ADDRESS> scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::a00:27ff:fe41:411a/64 scope link
       valid_lft forever preferred_lft forever

When starting the calico/node without a selection algorithm it chooses the 192. address.
This is fine initially, but after 10 mins or so, the 192 address disappears (presumably due to DHCP lease expiration), at this point things stop working.

A few things we need to do:

Use a can-reach autodetection method to ensure we select the correct interface.  (Set to can-reach etcd address is good)
Update the Vagrantfile and cloud configs to be in line with the other demos (file names and removal of etcd proxy)

The v2.1 portion has been fixed by #558

I found that I just needed to turn off DHCP on the VBox managed interface:
vboxmanage dhcpserver modify --netname HostInterfaceNetworking-vboxnet0 --disable

^ @djosborne I was aware of this, but I don't think we should be suggesting to people that they do that since it changes their entire settings for VirtualBox.  Probably better if we can work around it more generically - which we can by using one of the IP auto-detection mechanisms.  Probably need to update all of our vagrant demos with this though.

I think each vagrant setup gets its own hostonlyif. I had 9 on my box. So it isn't "their entire settings". It's the settings for the interface created special for this demo.

@robbrockbank I think we can close this if things are working now.

Yup I think we worked around this using a different auto detection method or similar, so I'm happy to close.


No changelog for v1.2.0

https://github.com/probot/smee-client/releases

BTW: Latest version is 1.2.2, bit it hasn't even been tagged/released.

Sorry for missing this earlier. Updated with v1.2.3


User Guide of CLI

@deniseschannon : Does this still need to be worked upon? I was just combing through issues and am wondering if there’s anything that could be potentially added to the existing docs

At this point, I'm not sure what else would need to be done given this is from over 3 years ago :)

Is there anybody I could potentially reach out to for understanding if there's anything else we could document?

@divya-mohan0209 Typically support or our field engineering would have feedback from what they hear from customers/prospects. Try posting an open ended question in #discuss-rancher in our slack and see if anyone has any feedback. If there is no response, feel free to close this.

Thank you @deniseschannon :) Sorry for the multiple pings!


User should have nicer profile screen

Change the background (White rectangle height smaller)
Profile picture contour change to white, stroke size 3

https://xd.adobe.com/view/f195a710-6a9c-4365-68e5-5644b73d1e36-87a4/screen/fd5d099e-b53d-46e3-abc1-ebf8c04e6218/YOUR-Profile-Empty

Checked on the Dev env.
Used devices:
Redmi 7 // Android 9.0
iPhone 6S+ // iOS 12.4.1
Desktop - Google Chrome 80.0

Screen title should be "Your profile" not a "Profile" (see the screenshot)
There is no country icon near the mobile phone (see the screenshot)
User is navigated to blank screen when try to edit the profile (see the video)

Video: https://www.dropbox.com/s/2b0uvvaifakzx3x/screenrecorder-2020-03-24-14-52-15-926.mp4?dl=0

Verified as done on the Dev & QA envs v0.18.0
Devices:
iPhone 11 // 13.3
iPhone 6 // iOS 12.1.1
Redmi 7 // Android 9.0


{scheduled-query} Fix parse bug for --condition with " and ' in query

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

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

scheduled-query


Shadowrun6th-German Hotfix Initative

Changes / Comments
Rebuid Fokus-Section and Hotfix for initative-Rolls
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ X] Does the pull request title have the sheet name(s)? Include each sheet name.
[X ] Is this a bug fix?
[X ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.


Debugging & warning statements before initialization

Actually I think this was fixed when the logging was simplified recently.


Paths of resources are not correct in zip

Assume the following folder structure:
dist
|- css
      |-....css files
 |- i18n
      |-....i18n files
 |- manifest.json
 |- xs-app.json
 |- Component.js
 |-....further app content

Now I run the command "cf html5-push dist ""
While the command is being executed, I grab the zip file that is generated.
It has the following content structure:
dist
  |- css
        |-dist
              |-css
                   |-....css files
  |- i18n
        |-dist
             |-i18n
                   |-....i18n files
  |- manifest.json
  |- xs-app.json
  |- Component.js
  |-....further app content

Of course my webapp won't be able to load the css / i18n files because there is a superfluous "dist" + folder name in the path. But what is really strange, even when adding the superfluous "dist" + folder name in the url path to the resource files, the files are not found. Only the files under the root level such as "Component.js" are found.
This happens under Windows, cf cli version 6.38

@Niklasschoenb
Thanks for reporting an issue. I tried to reproduce it and figured out that it is not relevant to absolute or relative path. It is even not the issue with slashes. GO relies on existence of $TMPDIR environment variable to get temporary directory path, which is used to store temporary zip of application folder by html5-plugin. On some Linux distributions (I managed to reproduce it on REHL 7.3) this variable is not set. Therefore, you can easily fix it by export TMPDIR=/tmp/ (don't forget trailing slash) before running cf html5-push .... Anyway, I'll address this issue in one of the next commits.


Fix broken link

Sorry I missed these before.

The other missed s-to-z's have been rolled up into #38.


[DOC] Update Copyright holders

See https://github.com/neurobagel/planning/issues/116

Changes proposed in this pull request:

Checklist

[x] PR has an interpretable title with a prefix ([ENH], [FIX], [REF], [TST], [CI], [MNT], [INF], [MODEL], [DOC]) (see https://neurobagel.org/contributing/pull_requests for more info)
[x] PR has a label for the release changelog or skip-release (to be applied by maintainers only)
[ ] PR links to GitHub issue with mention Closes #XXXX
[x] Tests pass
[x] Checks pass

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
647

Relevant Lines:
649

💛  - Coveralls

:rocket: PR was released in v0.1.0 :rocket:


fix(core): :bug: corelistitembutton has been fixed and corelistitem document has been corrected

Description
-CoreListItemButton docoment was not present
-CoreListItem docs there is comment present  has been fixed
Image

Ref: #191

Merging since stale over 24hrs.


Generate pdf versions of courses

This will be dependent on the solution to #107. The compiler/prover outputs should be included with the code snippets.

I am currently working around this by commenting out the widget_extension item from the extensions list in https://github.com/AdaCore/learn/blob/master/engine/sphinx/conf.py#L49-L56

Done in PR #296


3D.py  errror

when  I  run  rrt_3D  ,there are some pack  lost   . likes   rrt_3D.env3D  and  rrt_3D.utils3d

3D part is from another contributor, I will email him to check these errors. Maybe several days later, since he is preparing final exams ^_^

Hi there! Could you please give us some info on what IDE you used? When you run the algorithms, make sure that your terminal dir is at \path-planning-algorithms (Also works in \path-planning-algorithms\Sampling_based_planning and ..\rrt_3D). Using VSCode 1.46.0 as far as I know should not cause any error running.


fix(templates): Install dependencies in CI and bump dev dependencies

Closes https://github.com/meltano/sdk/issues/1223 and https://github.com/meltano/sdk/issues/1225
I ran into these same bugs when using the cookiecutter for https://github.com/pnadolny13/tap-cloudwatch and had to resolve them for my implementation. Heres what ended up working for me.

github action install poetry dependencies before running tox
bump black version
migrate from legacy poetry dev dependencies to group.dev. I removed black then readded it and poetry did this automatically for me with a warning.

:books: Documentation preview :books:: https://meltano-sdk--1305.org.readthedocs.build/en/1305/

@edgarrmondragon I saw that you made a few changes to this, is it good to go now?

@pnadolny13 yeah this is good to go. Auto-merging...

@edgarrmondragon I think its blocked by an approval from a code owner. Did we want others to review also?

@edgarrmondragon I think its blocked by an approval from a code owner. Did we want others to review also?

@pnadolny13 nope, just forgot to approve 😅


Add esm output and ignore dist

Committing compiled files in git is usually not the best way to
distribute library. For distributing umd files it would be more
effecient to use cdn or services like unpkg.com.
It's also better because pulling these files from git repo also requires
user actions and own services so we just move this responsibility to
npm (in case of unpkg).
In this diff I removed dist directory from git to reduce confusion for
contributors and make publishing less verbose.
I moved all compiled files in dist directory and added umd prefix to
not minified bundle. Also I added esm output. So dist directory now
looks very nice and intuitive for consumers.
react-input-mask.cjs.js
react-input-mask.esm.js
react-input-mask.min.js
react-input-mask.umd.js

If you want I can do not add umd suffix to not introduce breaking change. It's also usable pattern.
<EMAIL_ADDRESS>

Can providing a link like this in readme help? It selects version automatically.
react-input-mask.js
The problem with master version is that it can be too different from latest published and users will be confused about it. This version can be also broken for some tricky reason or just lack of time. So I wouldn't rely on it in any case.

No confusion, I always keep it in sync with the latest npm release.

Okay. Can we keep only react-input-mask.umd.js here and ignore another bundles?

As I see, there are two "conventions" in structures. The first one, which is widely used in React ecosystem. is more convenient for developers as you don't need to care whether you should commit builds or not. The second one, which is often used by libraries like moment or axios, is more convenient for some users for the reasons I mentioned earlier.
Since react-input-mask belongs to the React ecosystem and, I guess, it's very rare to use React without a module bundler these days, I need to think again thoroughly. Perhaps, removing prebuilt versions from this repo is a good idea.

So what do you decide? I can do not introduce breaking changes in this PR if you want.

I decided to add lib and dist to .gitignore and keep the structure unchanged.
Could you explain why do you need esm? Is there any case when cjs build isn't suitable?

esm is easier to handle statically and output of it is a bit smaller since we don't need to wrap it with cjs runtime.

Also esm bundle will better fit to browser modules.

cjs becoming more and more useless. Most popular bundler uses esm builds, cjs is required only for running in node and that's just because esm loader doesn't work everywhere yet.
That's because babel handle it differently. I'll give my tooth rollup bundles work perfectly.

By the way you don't need .npmignore with files field.

Is there any possible production environment where cjs won't work, but esm will?

Oh, I get it what was an issue. Commonjs users should not consume es modules. They should just disable it. This is not the only project where they can catch this. Hundreds of projects are broken for them because they can't configure webpack.

Just take a look that everybody is happy with it. I will handle an issue if you will have any.
https://github.com/atlassian/react-beautiful-dnd/blob/master/package.json#L21
https://github.com/renatorib/react-powerplug/blob/master/package.json#L8
https://github.com/recharts/recharts/blob/master/package.json#L6
https://github.com/bvaughn/react-virtualized/blob/master/package.json#L9

We should adopt esm and should teach users to consume it. Without changes there won't be a progress. And it's related to any small project. Everybody should be involved to fix things. And now esm via module field is one of those fixes.

In short, package with esm in package.json is more susceptible to imperfect environment configuration.
Being easy to use is the main idea behind react-input-mask. It still supports IE8 and React 0.13 with literally no overhead in project complexity. So, if there are no strong advantages in user experience or project maintainability, I'll keep the solution which works better across wide variety of environments.
It turns into discussion about personal preferences, so I'm closing this PR.

I just care about ecosystem and doing my best to keep everything consistent and efficient.

Stop supporting legacy is a good option for major releases by the way.

I understand. I might reconsider that when React itself adds esm build.


Test functionality of title case company names

Currently, all companies names in the ald and ald_demo are in lower case (E.g., Total Sa becomes total sa). In all other AR datasets, companies are in title case. We would like to try and keep the company names consistent across datasets.
Likewise, if a bank used a non-AR ald dataset, the company names possibly could be in title case. I am happy to provide a sample ald file with the title case company names. Let me know if I can clarify anything further?

I agree consistency is desirable. I would achieve it programatically rather than in a hard-coded way.
library(stringr)
str_to_title("company name")
#> [1] "Company Name"

Created on 2021-02-05 by the reprex package (v0.3.0)
This way we could keep the best of both worlds: Write low-level (developer-facing) programs that expect the simpler, lowercase names, then help users format the output in a way consistent with AR and other data providers. What I propose is to export a tiny helper, say format_company_name() that produces the title case format you want.
@jdhoffa, what do you think?

Hmmm. I think this is a little tricky.
On the one hand ald_demo is meant to best reflect the data coming from AR "as-is". Meaning if they will be providing the data in title case, we should try to provide the demo data best reflecting this.
On the other hand, of course lowercase is always easier to deal with from the code, and this is what is expected in all other functions etc. That said, it would be easy (and maybe safer) to just add a line in r2dii.match and r2dii.analysis that forces all input data to lowercase.
Perhaps that is the best solution?

Sounds great. If I understand correctly, here is the current situation the user story, and proposed solution:

Current situation:

head(unique(r2dii.data::ald_demo$name_company))
#> [1] "aba hydropower generation co ltd" "achinsky glinoziemskij kombinat"
#> [3] "affinity renewables inc."         "africa oil corp"
#> [5] "africon shipping sa"              "agni steels private limited"

User stories:

As a user of r2dii.data I would like to have an ald_demo dataset where company_name has title case values so that its letter case is identical to the data I get from AR.
As a user of r2dii packages downstream from r2dii.data I would like to have functions that automatically deal with the letter case of the column company_name so I do not need to worry about that myself.

Solutions

In r2dii.data::ald_demo$company_name convert to title case.
In all packages downstream to r2dii.data, convert ald_demo::company_name to lowercase.^[*]

[*]: This doesn't scale well. Do we have more of such "sanitizion" issues? Maybe we need an intermediate package-layer just after r2dii.data that sanitized data from a specific provider like AR?


[Update Snap] Starknet

Checklist
All items in the list below needs to be satisfied.

[x] Is the summary of the change documented in this ticket?
[x] Has a MetaMask Snaps team member reviewed whether the changes need to be vetted?
[x] If there are changes that need to be vetted, attach a description and the relevant fixes/remediations to this issue.
[ ] The corresponding pull request in this repo has been merged.

Summary of change:

Bug fixes
Integration with get-starknet library (wrapper content to implement Starknet Interface)
Change in provider to Alchemy

Source Diff:
https://github.com/Consensys/starknet-snap/compare/starknet-snap-v2.6.2...starknet-snap-v2.7.0
Version to be allowListed: 2.7.0
Version to be delisted: 2.6.2

I have reviewed all the changes, approving.


Proper initialization for godot-cpp classes with memnew.

Calling the constructor alone is not enough if the class to be instantiated is not a base class.
See https://github.com/godotengine/godot/pull/52946

Superseded by #33 .


Front end project Iphone 14 pro clone

Closes: #433

Title : IPHONE 14 Pro Clone
Name: : Vansh Chaurasiya
Idenitfy yourself: : GSSoC Contributor

Describe the add-ons or changes you've made 📃
Updated the databaes frontend.json file and added my project tags and description. Updated the frontend folder readme and added my project's link also.
Added files for my project along with a webp screenshot of the clone website.
How Has This Been Tested? ⚙

Tested locally
Screenshots 📷

Type of change ☑

What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

Checklist: ☑

[x] My code follows the Contributing Guidelines & Code of Conduct of this project.
[x] This PR does not contain plagiarized content.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] My changes generate no new warnings.

Note to reviewers 📄

@Avdhesh-Varshney I have again raised a PR. Please review this PR.

@vansh-codes attach the project readme file

@Avdhesh-Varshney Project's readme file already exists in the files.


Infinityas a date

I know this might seem counter intuitive to the library as is and you may not decide to do anything about it, but I was surprised to find that you don't support Infinity type, I know in some cases in this library that could prove to be problematic, such as format, etc..
If you pull down from PostgreSQL a date value of Infinity, The use case I was hoping to use is as such; moment(myVal).isBefore(Date.now()) where myVal could be any date from -Infinity to Infinity.
What we get though right now is:
> moment(Infinity).isBefore(Date.now())
false
> moment(Infinity).isAfter(Date.now())
false
> moment(-Infinity).isBefore(Date.now())
false
> moment(-Infinity).isAfter(Date.now())
false

Expected:
> moment(Infinity).isBefore(Date.now())
false
> moment(Infinity).isAfter(Date.now())
true
> moment(-Infinity).isBefore(Date.now())
true
> moment(-Infinity).isAfter(Date.now())
false

Moment is a wrapper for the native date library, so we need to be able to translate any date into a JS date. JS's date time libraries don't do infinity (or beyond!):
> new Date(1430527548018)
Fri May 01 2015 20:45:48 GMT-0400 (EDT)
> new Date(Infinity)
Invalid Date

Hence:
>moment(Infinity).isValid()
false
> moment(Infinity).format()
"Invalid date"

I suppose it would be possible for Moment to have special dates that don't correspond to underlying JS dates. But that would require a lot of code to support, and I'm pretty confident it's out of scope for Moment.

... I too would like to work with Infinite dates :/

What about a small work around.
Define a global variable var Infinite = 1e15 and use it instead of Infinity. With 1e15 you will get the last valid date of Fri Sep 27 33658 03:46:40 GMT+0200 (in my case).
> moment(Infinite).isValid()
true

To expand on this, I too am looking to deal with infinity for dates for a caching method remember(value, expires) vs rememberForever(value). Plenty of ways for me to get passed this but found the following interesting:
let x = new moment()
let y = new moment(x)

y.add(Number.POSITIVE_INFINTITY, 'years')

x.isBefore(y) // false
x.isAfter(y) // false
x.isSame(y) // false
x.diff(y) // NaN


[DM-40761] Add 2MASS color to the list of HiPS sets

This will tell the portal to put it in the list of selectable HiPS sets.  It should alread have its properties file as part of the list file.

I'm still syncing the tiles, and then I'm going to have to restart datalinker and pull in a new version for the list file to be correct and contain the properties file.


Multiframe images are not working

V2.0  Select US type dicom ,but not running.
and V1.0 meteor can be running.
Click the cine play button and it will not play.

@ZYuanCheng, I am unable to reproduce on: https://viewer.ohif.org
What are the steps to reproduce? Can you provide a minimal reproduction? Is the issue specific to this study? What versions of the dependent libraries are you using?

I am using the latest version of the current master. I imported the US image type file in dcm4chee-arc. In the previous meteor version, I can animate it, but now I don't. I found that the requested dicom data only requested a dicom data. File, this should be a bug in this react version

I don't 100% follow. If you could provide a full-proof way to reproduce these steps, or a minimal example in a new repo, I would be more than happy to investigate further.

Because I don't have an external network environment, I can only provide some sample files. You can import them into dcm4chee-arc-light and view them in OHIF. You can see the above problem.
imagesdc.zip

This zip file contains the dicom files, you need to extract the zip file and import these dicom files into dcm4chee-arc-light 5.4 or higher.The decompression tool I use is WinRAR.
imagesdc.zip

Are there any updates-I experience the same problem.
Also I succeeded to unzip  ZYuanCheng's dataset- if needed I upload few files directly.

FWIW, I see this issue and a rendering issue with the provided images. I'm unsure of the best path forward here. Having a known good test case in our default dataset would be helpful.
I haven't played with this enough to identify the exact issue, but it is something that we should address.

To be on the same page: is "default dataset" the one on https://server.dcmjs.org  (dcm4chee-arc/aets/DCM4CHEE/rs/)?
Asking cause there are no multiframe DICOM files there and it looks that the problem is not only with US, but with  multiframe files from other modalities (XA, NM) also.

Hmm that would definitely be a problem. I haven't tested specifically with multiframe images.

Yep I can confirm that this is the issue:
The first series in this is a multiframe: https://viewer.ohif.org/viewer/<IP_ADDRESS>.4.1.59<IP_ADDRESS>14087073.479799962.1489872804257.3.0 and it does not appear to be working.
var element = window.store.getState().viewports.viewportSpecificData[0].dom
cornerstoneTools.getToolState(element, 'stack').data[0].imageIds

Looks like the imageIds for all images in the stack are identical
Somehow OHIF/Viewers/Packages-react/ohif-core/src/utils/getWADORSImageId.js must be called with the wrong frame value.

Looks that replacement in getWADORSImageUrl(instance, frame)
wadorsuri = wadorsuri.replace(/(%2Fframes%2F)(\d+)/, "$1".concat(frame));
to
wadorsuri = wadorsuri.replace(/frames/(.*)/, 'frames/'.concat(frame));
does the work.

How to fix this issue while displaying the DICOM image in OHIF using the JSON supplied via the '?url=' query parameter?


Support printing of map types

Should follow same semantics as printing a struct, i.e. limiting nesting depth.

I'm curious about the separation here it looks like the array length is hard coded- I'd have thought eg proctl should support passing in the limit and callers (eg the debugger itself pass in the limits).

Do you mean the nesting depth / array limit for printing? Yeah currently it's hard coded but it should definitely be a runtime configuration. There were some discussions concerning that in #55.

Implemented by 943c12030ac66730f1a1ce2aa32e57a2b397064e


Add validation DataPipes

Detailed Description
Take the nowcasting_dataset validation code and put into data pipes so it can be easily turned on and off by adding/removing the data pipelet
Context

Possible Implementation

This has been implemented in #40


Move eslint-plugin-compat to devDependencies

In 088e618 the package eslint-plugin-compat was added to dependencies, but I expect it was intended to be added to devDependencies.  Moving it would save a lot of extra installation for packages that depend on this one.

[x] Please don't start pull requests for security issues. Instead, file a report at https://www.npmjs.com/advisories/report?package=handlebars
[x] Maintain the existing code style
[x] Are focused on a single change (i.e. avoid large refactoring or style adjustments in untouched code if not the primary goal of the pull request)
[x] Have good commit messages
[x] Have tests
[x] Have the typings (lib/handlebars.d.ts) updated on every API change. If you need help, updating those, please mention that in the PR description.
[x] Don't significantly decrease the current code coverage (see coverage/lcov-report/index.html)
[x] Currently, the 4.x-branch contains the latest version. Please target that branch in the PR.

Thanks for the PR. I have setup a rule for myself not to merge changes to the dependency tree directly, but to fix package.json myself (because package-lock.json is rather difficult to review).
I have fixed the package.json in this commit (5e9d17f8) and will release when the travis-build is done.

Released in 4.5.1


[Marketplace] Tablet view UI is broken. Need to implement tablet and mobile views

EPAM AI DIAL chat version
0.18.0
What happened?
Tablet view: note the search field and the amount of applications row, Add app button is hidden.

Figma is here: https://www.figma.com/design/lwL5jneveZczAj5RLcLFH2/DIAL-Chat?node-id=11630-58210&node-type=section&t=SlWDBy4kQM5Gg0vx-0
Confidential information

[X] I confirm that do not share any confidential information

Verified on staging env successfully.
Note that Add app button is not available on Mobile view (available on tablet and desktop view)


Uncaught exception 'Sabre\Xml\LibXMLException' with message 'Entity 'euml'

I think I have some weird, unvalid RSS feed. It has data in xml tags that is encoded with htmlentities. How can I properly decode this?
Example rss feed: http://www.punt.nl/?rss

Ah yea, that is pretty terrible. Are you not able to fix the source?
The best way to solve this might be a str_replace. I think you should also be able to actually import the HTML DTD entries to import these entities, but not sure I'd recommend that.
http://stackoverflow.com/questions/6508860/how-do-i-define-html-entity-references-inside-a-valid-xml-document


No Donation Button

Music is everything for me as a developer, so this really saved my day when i found out i didn't have to write this myself. Please put something in the README and let me buy you guys a beer.

You can close this if you want, I just really am thankful for this

Hah, I'm flattered! I set up a sponsors profile recently -- you could be the first!


HTTP Support? GRPC fails to write to a remote endpoint

I'm curious as to what work would need to be done to support HTTP as an additional transport mechanism to GRPC.
Currently I'm setting up otel on iOS and using GRPC fails when sending to a remote otel-collector. funny enough localhost always seems to resolve and push telemetry data but GRPC times out constantly on macOS, iOS and in a swift container image running in docker locally on macOS.
I've isolated the issue to being something specific to GRPC in swift. There's a tool I used to test called otel-cli to verify if the issue was my remote endpoint or not.
Running the following command using the cli on macOS
otel-cli exec --service my-service --name "curl google" curl https://google.com --endpoint otel.example.com:443
results in the telemetry data being pushed to the otel-collector which  then forwards it to grafana cloud via otlp/http and I can see the data in my dashboard

Debugging
I've enabled some logging for grpc in iOS and Hummingbird and see the following
Hummingbird in Xcode Logs
2024-07-30T08:03:44-0400 debug otel.test : grpc_connection_id=8A6BF2D3-29EC-4F90-B8AA-315DCF757F52/9 [GRPC] making client bootstrap with event loop group of type SelectableEventLoop
2024-07-30T08:03:44-0400 debug otel.test : grpc_connection_id=8A6BF2D3-29EC-4F90-B8AA-315DCF757F52/9 [GRPC] Network.framework is available but the EventLoopGroup is not compatible with NIOTS, falling back to ClientBootstrap
2024-07-30T08:03:44-0400 debug otel.test : grpc_connection_id=8A6BF2D3-29EC-4F90-B8AA-315DCF757F52/9 [GRPC] creating a ClientBootstrap
2024-07-30T08:03:44-0400 debug otel.test : connectivity_state=connecting grpc_connection_id=8A6BF2D3-29EC-4F90-B8AA-315DCF757F52/9 [GRPC] activating connection
2024-07-30T08:03:44-0400 debug otel.test : connectivity_state=active grpc_connection_id=8A6BF2D3-29EC-4F90-B8AA-315DCF757F52/9 [GRPC] deactivating connection
2024-07-30T08:03:44-0400 debug otel.test : delay_secs=60.74236138655257 grpc_connection_id=8A6BF2D3-29EC-4F90-B8AA-315DCF757F52/9 [GRPC] scheduling connection attempt
2024-07-30T08:03:44-0400 debug otel.test : connectivity_state=transientFailure grpc_connection_id=AD875410-B561-4CAD-909C-035E4FCC6668/8 [GRPC] vending multiplexer future
2024-07-30T08:03:51-0400 debug otel.test : grpc_connection_id=8A6BF2D3-29EC-4F90-B8AA-315DCF757F52/9 new_state=transientFailure old_state=connecting [GRPC] connectivity state change
2024-07-30T08:03:51-0400 trace otel.test : call_state=awaitingTransport (0 parts buffered) grpc_connection_id=AD875410-B561-4CAD-909C-035E4FCC6668/8 grpc_request_id=A7BD726C-3BDA-4121-A436-5D6342722E3C request_part=metadata [GRPC] buffering request part
2024-07-30T08:03:51-0400 trace otel.test : call_state=awaitingTransport (1 parts buffered) grpc_connection_id=AD875410-B561-4CAD-909C-035E4FCC6668/8 grpc_request_id=A7BD726C-3BDA-4121-A436-5D6342722E3C request_part=message [GRPC] buffering request part
2024-07-30T08:03:51-0400 trace otel.test : call_state=awaitingTransport (2 parts buffered) grpc_connection_id=AD875410-B561-4CAD-909C-035E4FCC6668/8 grpc_request_id=A7BD726C-3BDA-4121-A436-5D6342722E3C request_part=end [GRPC] buffering request part
2024-07-30T08:03:59-0400 trace otel.test : call_state=closing grpc_connection_id=8A6BF2D3-29EC-4F90-B8AA-315DCF757F52/9 grpc_request_id=7861235F-17F2-49D9-8BEE-CC4B86510449 [GRPC] failing buffered writes

iOS Logs
2024-07-30T08:15:08-0400 debug telemetry : grpc_connection_id=2FF99C64-1D91-41EA-A7FD-CCB950DAA7C2/8 [GRPC] creating a ClientBootstrap
2024-07-30T08:15:08-0400 error telemetry : error=read(descriptor:pointer:size:): Connection reset by peer (errno: 54) grpc.conn.addr_local=<IP_ADDRESS> grpc.conn.addr_remote=***.***.***.** grpc_connection_id=2FF99C64-1D91-41EA-A7FD-CCB950DAA7C2/8 [GRPC] grpc client error

Hummingbird Container Logs macOS
2024-08-01T00:04:33+0000 debug otel.test : grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/0 new_state=connecting old_state=idle [GRPC] connectivity state change
2024-08-01T00:04:33+0000 debug otel.test : connectivity_state=connecting grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/0 [GRPC] vending multiplexer future
2024-08-01T00:04:33+0000 debug otel.test : grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/0 [GRPC] making client bootstrap with event loop group of type SelectableEventLoop
2024-08-01T00:04:33+0000 debug otel.test : grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/0 [GRPC] creating a ClientBootstrap
2024-08-01T00:04:33+0000 trace otel.test : call_state=awaitingTransport (0 parts buffered) grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/0 grpc_request_id=BC73C809-747F-4A9B-B4D8-DEDB9BA54440 request_part=metadata [GRPC] buffering request part
2024-08-01T00:04:33+0000 trace otel.test : call_state=awaitingTransport (1 parts buffered) grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/0 grpc_request_id=BC73C809-747F-4A9B-B4D8-DEDB9BA54440 request_part=message [GRPC] buffering request part
2024-08-01T00:04:33+0000 trace otel.test : call_state=awaitingTransport (2 parts buffered) grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/0 grpc_request_id=BC73C809-747F-4A9B-B4D8-DEDB9BA54440 request_part=end [GRPC] buffering request part
2024-08-01T00:04:33+0000 debug otel.test : connectivity_state=connecting grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/0 [GRPC] activating connection
2024-08-01T00:04:33+0000 debug otel.test : connectivity_state=active grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/0 [GRPC] deactivating connection
2024-08-01T00:04:33+0000 debug otel.test : delay_secs=1.0 grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/0 [GRPC] scheduling connection attempt
2024-08-01T00:04:33+0000 debug otel.test : grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/0 new_state=transientFailure old_state=connecting [GRPC] connectivity state change
2024-08-01T00:04:34+0000 debug otel.test : grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/1 new_state=connecting old_state=transientFailure [GRPC] connectivity state change
2024-08-01T00:04:34+0000 debug otel.test : grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/1 [GRPC] making client bootstrap with event loop group of type SelectableEventLoop
2024-08-01T00:04:34+0000 debug otel.test : grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/1 [GRPC] creating a ClientBootstrap
2024-08-01T00:04:34+0000 debug otel.test : connectivity_state=connecting grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/1 [GRPC] activating connection
2024-08-01T00:04:34+0000 debug otel.test : connectivity_state=active grpc_connection_id=A2C48434-73F1-4E6D-AA73-CCE2A6CEB791/1 [GRPC] deactivating connection

Leveraging HTTP support would help alleviate these issues since it's a valid transport mechanism. Not sure if anyone else has experienced these issues with sending OLTP data over GRPC to a non localhost endpoint.

Could this be related to #26 ?

Thanks for bringing this up @Andrewangeta 🙏 The issues you're facing should indeed be caused by our current gRPC support being limited to insecure channels. Have you already tried using the fixes made in #26? Would you still want/need HTTP support in swift-otel even if a secure gRPC connection does the trick for you?

@slashmo
Yea the ClientConfiguration never took into account a secure endpoint. I went to the exporters
OTLPGRPCLogEntryExporter OTLPGRPCMetricExporter OTLPGRPCSpanExporter
and altered the config setup
+var connectionConfiguration = ClientConnection.Configuration(target: .host(configuration.endpoint.host, port: configuration.endpoint.port),
+                                                             eventLoopGroup: group,
+                                                             tls: .init(configuration: .clientDefault),
+                                                             backgroundActivityLogger: requestLogger)

+if configuration.endpoint.isInsecure {
+    connectionConfiguration = ClientConnection.Configuration.default(
+        target: .host(configuration.endpoint.host, port: configuration.endpoint.port),
+        eventLoopGroup: group
+    )
+}

-var connectionConfiguration = ClientConnection.Configuration.default(
-     target: .host(configuration.endpoint.host, port: configuration.endpoint.port),
-     eventLoopGroup: group
- )

As far as needing HTTP, I suppose someone could have a valid usecase. Currently grafana cloud only accepts HTTP for delivering OTLP to ingest. So someone who opts out of using an otel collector (that can forward HTTP requests) for whatever reason and want a HTTP ingestor/endpoint HTTP seems like a sensible option someone can choose. I'm using an otel collector for my needs so I can get away with GRPC currently.

Currently grafana cloud only accepts HTTP for delivering OTLP to ingest.
@Andrewangeta

Interesting! We could add http/protobuf support in a separate OTLPHTTP target. I prototyped this a while ago, including an OTLP target which brings together both OTLPGRPC and OTLPHTTP to support the OTEL_EXPORTER_OTLP_PROTOCOL variable for dynamically choosing between one or the other.


Update libchromiumcontent

Remove usages of private xpc_ APIs, fix #3823.
Refs https://github.com/atom/libchromiumcontent/commit/8e9772b93b4e46d0614842f28664d33f10d47b98.

that was fast :)


Rextester API is not longer free, thus bot no more working

Rextester now requires API TOKEN to use its API.
Bot no longer doing the main thing it is supposed to do.

I am doing research, as to how to build my own API for running python code.
Running python code and returning the result is easy. A simple solution is to use a python subprocess to run python -c {code}, and then get the stdout and stderr.
https://github.com/aahnik/run-py-bot/blob/fba3e718e69a2f2702c45428a9f884fec432084b/bot/execute_code.py#L55-L67
v0.0.5 of this project and earlier, used to run the code submitted by users directly in the server the bot is running.
But python is powerful and using python code, anyone can hack the server. Me banning certain python keywords and imports made the bot less useful. But still hackable. Using escape sequences, and other tons of tricks, one could hack the server.
Then from v0.1.0 onwards, I used the rextester API, which ran a piece of python code and returned the result. So, I had no more worry, as the python code ran of their server, it's their headache now.
But rextester API become paid from April 10, 2021.
So, now I am planning to build my own API that executes python code.
Challenges:

we will be accepting code from an untrusted source.
accidental bugs, or malicious design can hack the server, or consume too much CPU/memory/disk space.
people could use the service to do malicious things

So currently I am researching how to implement a solution
Here are the links to stuff that I am exploring

https://www.software.ac.uk/blog/2017-11-23-executing-python-code-submitted-web-service
https://github.com/vstinner/pysandbox
https://lwn.net/Articles/574215/


Bugfix

Hi! I fixed broken code and added basic test that verifies that the code is syntactically correct.
Update. Added pure python init markdown.

Hello @igor-utkin ! Thanks a lot for your contribution (:


Branch name mono-repos not expanded properly

The branch name does not replace ${branch}, and becomes chore: release ${branch}.
Refs: https://github.com/istanbuljs/istanbuljs/pull/654

Promoting to p1, because this breaks tagging:
```bash
⚠ pullRequestTitlePattern miss the part of '${version}'
✖ Bad pull request title: 'chore: release ${branch}'
⚠ pullRequestTitlePattern miss the part of '${scope}'
⚠ pullRequestTitlePattern miss the part of '${component}'
⚠ pullRequestTitlePattern miss the part of '${version}'
✖ Bad pull request title: 'chore: release ${branch}'

This should have been fixed in #1129: https://github.com/googleapis/release-please/pull/1129/files#diff-8fde470d821a54dc84fa30c40cd642499a533ddb5a836a56fd64ddf91c4c929eR154


Angular-Tree-Component DOM not rendered in Angular9

HTML:
<tree-root [nodes]="nodeItems" [focused]="true">
Import in typscript :
import { IActionMapping, TREE_ACTIONS, TreeComponent, TreeNode, ITreeOptions } from '@circlon/angular-tree-component';
nodeItems = [
{
id: 1,
name: 'root1',
children: [
{ id: 2, name: 'child1' },
{ id: 3, name: 'child2' }
]
},
{
id: 4,
name: 'root2',
children: [
{ id: 5, name: 'child2.1' },
{
id: 6,
name: 'child2.2',
children: [
{ id: 7, name: 'subsub' }
]
}
]
},
{
id: 8,
name: 'root3',
children: [
{ id: 9, name: 'child1' }
]
}
];
optionsNew: ITreeOptions = {
    useCheckbox: true,
    getChildren: this.getChildren.bind(this)
};

"@circlon/angular-tree-component": "^10.0.0",
Angular version in attachment

hi @tobiasengelhardt I fixed this issue. After deep debuging the all  import JS and CSS in angular.json files in my code, I found the issue with reflect.js file once I removed the same the issue were fixed in run. Another Issue I found in ng build on server ERROR in getInternalNameOfClass() called on a non-ES5 class: expected TreeMobxAutorunDirective to have an inner class declaration�[0m�[91m �[0mThe command '/bin/sh -c node --max_old_space_size=8192 $(npm bin)/ng build --configuration=dev --output-path=./dist/out' returned a non-zero code:
Please suggest how I fixed it. I enable the ivy complier in angular9


Skip validation for optional fields in import provider account form

Jira: [Modify the provider account import form to fix the validation issue](Modify the provider account import form to fix the validation issue)

@yzhao583 does this need to be cherry-picked to release branch as well?

if it's for R3, then yes... cherry-pick to release-0.2.0


Add per password salt length configuration

To improve the password hash security, hash configuration will allow to configure per password salt length. If not set, per password salt length will use 8 length.

Add per password salt length configuration


Possible to publish preliminary NPM packages?

Since #16 is fixed - I would love to switch over some of my libraries to use this test runner (and be able to give more feedback).
However, one blocker is that I need to use resolutions in esy to get at the packages. This is a problem because the resolutions trickle through the dependency graph - for example, if I use test-runner in revery, any project that brings in revery as a dependency needs to also specify these resolutions.
The motivation for this is I'd like to try it out on some of my core projects like https://github.com/bryphe/reason-gl-matrix that run both native tests and against JSOO - but if I add the resolutions, every project that depends on it would also need these resolutions.
Is it possible to publish preliminary NPM packages for this work?

Good point. I think we are finalizing a public name and are planning to publish it so that this is easy to consume on Monday.
Would specifying the resolutions be okay until that time?

Good point. I think we are finalizing a public name and are planning to publish it so that this is easy to consume on Monday.

Monday would be great! No rush.

It took a little longer than Monday, but test-runner has been renamed rely and is now published. https://www.npmjs.com/package/@reason-native/rely


certificate signed by unknown authority

stern -n kube-system etcd
failed to set up watch: failed to set up watch: Get https://api_host_lb_vip(fqdn):443/api/v1/namespaces/kube-system/pods?watch=true: x509: certificate signed by unknown authority
I don't think any issue with cert. API servers configured with prod grade certs. all tools ( api, kubectl, webuI) all works fine
Exampel:
curl https://api_host_lb_vip:443/healthz
ok
Is it a bug or something else?
Srinivas Kotaru

I am also facing the same issue. "x509: certificate signed by unknown authority"


The guessing team should be able to carry over an unused guess.

The guessing team should be able to carry over an unused guess to their next turn if they decide.

Just need a button to skip guessing


Thanks for putting this together

It has really helped my get a handle on all the play / scalajs build process.
Right now this package seems like the best practice for integrating scalajs / play, and I plan on using it as the foundation for a project.
Do you know of any potential gotchas that I may encounter while dev'ing with this project setup?

Hi @austinrivas
The only issue I can think of is the IntelliJ integration. It does not work well with cross projects for now but the IDEA team is working on a fix.
For your information, there is a pending PR which will change the structure of the Build so you might want to look at the sbt-play-scalajs-v0.2.x branch instead of master.
P.S.: For next time I recommend posting your question on the chat https://gitter.im/vmunier/play-with-scalajs-example or on the Scala.js mailing list. Opening an issue is more for a bug found or a missing feature ;)

Will do, thanks for the quick response!
How long do you think it will be until the pr is merged?

Less than 2 days I guess, but you don't have to wait, just use the branch as a base...

Going to do that now, feel free to delete this issue btw. Hanging gh issues drive me crazy too.


Remove myself from judges list

Preempting the possibility that I might submit a proposal myself,
I would like to withdraw myself from the judging panel.

Sad to see you go, but looking forward to your submission.
Thanks, Randall!


Automatically compile dependant Equinox modules

Hi @patrick-kidger! (I forgot the greatings and made an edit for it as I think it is very important. Thanks for this work btw!)
I'm using a pattern which can be summarized by the minimal example herein. If I uncomment one of the two commented line (but not both simultaneously) it fails with TypeError: unhashable type: 'DeviceArray'.  In other words, it works only in two ways:

if all Equinox modules are not compiled or;
if all Equinox modules are explicitly compiled with jax.jit()

With a similar pattern in PyTorch, I would only have to compile SecondModule. FirstModule would be compiled automatically because it is an input to SecondModule.
Would there be a simple solution to obtain the same behavior has in Pytorch?
Thank you!
import equinox as eqx
import jax

class FirstModule(eqx.Module):

    params: float

    array: jax.numpy.ndarray

    def __init__(
        self,
        param: float,
    ):
        self.params = param
        self.array = jax.numpy.array([param])

    def __call__(self, x):
        return self.array + x

class SecondModule(eqx.Module):

    first_module: FirstModule

    def __init__(
        self,
        first_module: FirstModule,
    ):
        self.first_module = first_module

    def __call__(self, x):
        return self.first_module(x)

first_module = FirstModule(param=0.1)
# first_module = jax.jit(first_module)

second_module = SecondModule(first_module=first_module)
# second_module = jax.jit(second_module)

out = second_module(jax.numpy.array([1.0]))

print(out) # Expected: [1.1]

Short version: use eqx.filter_jit(second_module) and this will just work.
But I'd note that this is quite an uncommon pattern. When using JAX then you should JIT every JAX operation (for speed) and so the usual pattern is to have a single JIT'd make_step function, that computes the loss and the gradients and updates your model, all in one go. (Assuming you're training a neural network.) Have a look at the "train RNN" example in the docs.
As for why this works. When you JIT-compile a callable, then JAX uses a dictionary to map the callable to its compiled version. This of course implies that the callable must be hashable. Functions are callable, but the hash of an Equinox module is defined as the hash of all of its leaves. (Essentially hash(jax.tree_leaves(module)).) And if any of those leaves are JAX arrays then you get the error you've seen: JAX arrays aren't hashable.
eqx.filter_jit is essentially just a bit smarter: it knows to filter out JAX arrays before computing the hash. (And then treats those JAX arrays as an input to the compiled function.)

Hi Patrick,
You are right indeed. Using eqx.filter_jit() on the last module instead of using jax.jit() makes it work, and about 33% faster. However, I took much longer to answer because it seems the two methods yields slightly different results. I don't run NN for the moment. Instead I run a RK4 to simulate a mechanical system. Precision is key here. I find that using 'jax.jit()' yields the analytical (expected) result, while eqx.filter_jit() does not. Do you have any idea of what could be wrong here before I make any attempt to replicate the issue with a minimal example?
Thanks!

Haha, I'm glad to hear you're enjoying using JAX and Equinox!
On the difference between jax.jit and eqx.filter_jit, this does sound unusual, and I don't know of something that could trip things up like that. If you can post a MWE that'd be great. (Of anything demonstrating the difference between them,  even if it's not mathematically a diffeq solver.)
In passing, RK4 is an "okay" method but for slightly more computational cost something like Tsit5 is usually better.

Oh! I see. You are the co-author of Diffrax too! Wow! I'll go deeper into it. Same as your thesis. I'm curious.
By "Precision is key", I essentially meant that obtaining expected results is important (and... obviously). RK4 may not be the most precise solver out there indeed. I'll check into Tsit5 (I see its implemented in Diffrax). I never heard of it before. Thanks for that.
Now, I'm starting to understand the problem. From what I can tell:

case 1: where eqx.filter_jit() is applied on the last module of my pattern
is not equal to
case 2: where  jax.jit (or eqx.filter_jit()) is applied to all modules independently.

That's because there is a compartmentalization of modules when we compile them. That separation is somewhat equivalent to a copy operation applied to the inputs and outputs of the module's callable. I hope I'm being clear enough. That's just how just deep I understand it :) You probably know better.
I've not made a MWE yet, but here how I essentially solved my problem using the code I provided initially:
from copy import copy

# [...]

class SecondModule(eqx.Module):

    first_module: FirstModule

    def __init__(
        self,
        first_module: FirstModule,
    ):
        self.first_module = first_module

    def __call__(self, x):
        return copy(self.first_module(x)) # <---  I must copy the output of submodules' callable

# [...]

From what I can tell, with that modification, the results obtained from both cases are now equivalent. It was not necessary to do so with PyTorch. They probably do it under the hood somewhere. When you say Equinox's modules are No Magic, I like it. It forces us to develop a deeper understanding of the underlyings.
I may be wrong, but I'm temped to say that eqx.Module() != eqx.filter_jit(eqx.Module()) because eqx.Module() is lacking these copy operators. And I would argue at that point that making sure eqx.Module() == eqx.filter_jit(eqx.Module()) is quite important. What do you think?

So having a copy operation there is definitely weird. I don't think it's technically wrong but it definitely shouldn't improve things for you either.
I would note that JAX(/Equinox)'s JIT operation is different to PyTorch. In PyTorch there is indeed this notion of "jitting a module" as this is a typical pattern. In contrast JAX's JIT operation is almost always applied to some standalone function, and "jitting a module" is probably a mistake. If you're new to this I'd suggest reading up on how JAX's JIT works under the hood, as understanding this is really important to get good/correct behaviour with JAX.

Ok perfect. I guess I'll investigate a more formal way to do thing with JAX, and continue my reading on the subject. Thanks again. I close the issue.


Zooming using Ref doesn't work right

I can't seem to reproduce this inside the storybook but when I have the following configuration, the zoom doesn't seem to work as expected.
<Canvas
              ref={canvasRef}
              fit={true}
              maxZoom={0}

@amcdnl Any results here? Do you have a working example for me? When I am following the example in the storybook, I receive the following error: Cannot invoke an object which is possibly 'undefined'

@amcdnl Any results here? Do you have a working example for me? When I am following the example in the storybook, I receive the following error: Cannot invoke an object which is possibly 'undefined'

Its a typescript issue, I would just do ref?.zoom() - I was able to get this to work.

Its a typescript issue, I would just do ref?.zoom() - I was able to get this to work.

I tried it like this: ref.current?.centerCanvas() and like this ref?.current?.centerCanvas()
Neither attempt succeeded. I will post a complete example soon.

I tried it like this: ref.current?.centerCanvas() and like this ref?.current?.centerCanvas()
Neither attempt succeeded. I will post a complete example soon.

@amcdnl any idea? This is crucial for my project since I need to programmatically change the graph after inserting nodes.
import { Canvas, NodeProps, EdgeProps, CanvasRef } from 'reaflow';

  export default function InnerGraph(...){
    const ref = useRef<CanvasRef | null>(null);
    ....
    return(
      <Canvas
        layoutOptions={
          {
            'elk.hierarchyHandling': 'INCLUDE_CHILDREN'
          }
        }
        zoomable={true}
        pannable={true}
        fit={true}
        readonly={true}
        direction={"RIGHT"}
        nodes={nodes}
        edges={edges}
        node={(node: NodeProps) => NodeBuilder.prepareNode(...)}
        edge={(edge: EdgeProps) => EdgeBuilder.prepareEdge(...)}
        ref={ref}
        onLayoutChange={() => {
          if(ref.current != undefined){
            ref.current?.centerCanvas()
          }
        }}
      />
    )
  }

@amcdnl any idea? This is crucial for my project since I need to programmatically change the graph after inserting nodes.
import { Canvas, NodeProps, EdgeProps, CanvasRef } from 'reaflow';

  export default function InnerGraph(...){
    const ref = useRef<CanvasRef | null>(null);
    ....
    return(
      <Canvas
        layoutOptions={
          {
            'elk.hierarchyHandling': 'INCLUDE_CHILDREN'
          }
        }
        zoomable={true}
        pannable={true}
        fit={true}
        readonly={true}
        direction={"RIGHT"}
        nodes={nodes}
        edges={edges}
        node={(node: NodeProps) => NodeBuilder.prepareNode(...)}
        edge={(edge: EdgeProps) => EdgeBuilder.prepareEdge(...)}
        ref={ref}
        onLayoutChange={() => {
          if(ref.current != undefined){
            ref.current?.centerCanvas()
          }
        }}
      />
    )
  }

One way i got it to work is using const ref = useRef<any>(null); but there should be a cleaner way with proper type initialization 😕

One way i got it to work is using const ref = useRef<any>(null); but there should be a cleaner way with proper type initialization 😕

So is it only type related or is there an actual bug here?

So is it only type related or is there an actual bug here?

I am not sure. In my perspective it seems like a bug, because the type definition you used in the storybook works perfectly. But as soon as I use the bundled library I need to use any and cannot initialize the ref by using const ref = useRef<CanvasRef | null>(null);

I am not sure. In my perspective it seems like a bug, because the type definition you used in the storybook works perfectly. But as soon as I use the bundled library I need to use any and cannot initialize the ref by using const ref = useRef<CanvasRef | null>(null);

I mean't functionality bug

I mean't functionality bug


runtime: asymptote

This adds the support for Asymptote Vector Graphics Language, and avoids packaging issues such as https://github.com/vectorgraphics/asymptote/issues/180.
Imported from base/asy.vim.

Thanks. Can you please also add a test to testdir/test_filetype.vim?

I have in mind submitting a PR to asymptote and packagers (Fedora) with the changes after merging this. Asymptote suggests to user copying asy.vim to their user config, so this might be a breaking change.

If it's already out there in the wild I think it would be better not to change the name.

Yeah, agree. Let't not change it please.


Splash Screen per platform?

Do we still create the splash screens per platform like https://docs.microsoft.com/en-us/xamarin/android/user-interface/splash-screen?

@johnmangam for splash screens you would do the same thing as you would in any other Xamarin.Forms app, for which the overview is on https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/splashscreen. So, yes, for Android, the doc you mention would be the way to go.


Update ml module data.cpp - loading samples training data without responses

Update to allow loading data from a .csv file that only contains training samples values and not the associated responses. To allow this behavior, function must be called with parameters ResponsesStartIdx <= -2 and ResponsesEndIdx = 0

:+1:


fixed all the broken links

when building the docs-website, the compiler prints some warnings about broken links. Fixed all those.

Sweet thanks!  That's nice that it shows broken links during compilation!


Omit required input logic and clear button for non-nullable inputs

Resolves #313
Note that I moved showClearSelectionButton from the InputVariables props to the InputSpec object with the idea that we may want to have more granularity in the future.

Had a look, and it looks good!


Can get tables info with schema contain custom field type

Describe the usage question you have. Please include as many useful details as  possible.
I use BDeaver and arrow-flight-sql-jdbc-driver  to connect my db which implement arrow flight.
In my db，there have a datatype "Geometry" ， corresponds to the Binary type in the arrow.
In CommandGetTables，flight will return table's schema，The schema contains the field information for the table.
How do I return a schema that lets the arrow-flight-sql-jdbc-driver know that the field I'm returning is of type Geometry?
Component(s)
FlightRPC

i deal it!
get_tables returned shema, set the metadata for each filed
The key is ARROW:FLIGHT:SQL:TYPE_NAME
value is the name of the type I customized
see
https://github.com/apache/arrow/blob/420c01ab98295c7ee2f3ef640da911e4e8276a1c/java/flight/flight-sql/src/main/java/org/apache/arrow/flight/sql/FlightSqlColumnMetadata.java#L45-L54


[5.5] [Refactoring] Unwrap optional chains in async transform

5.5 cherry-pick of https://github.com/apple/swift/pull/37174

Remove an optional chain of a success parameter, as it will no longer be optional, similar to how we remove a force unwrap.
Note that while this is a locally valid transform within the optional chain, e.g foo?.x -> foo.x, it may change the type of the overall chain, which could cause errors elsewhere in the code. However this is generally more useful to the user than just leaving foo as a placeholder. Note this is only the case when no other optionals are involved in the chain, e.g foo?.x?.y -> foo.x?.y is completely valid.
Resolves rdar://74014826.

@swift-ci please test

@swift-ci please test Windows

Build failed
Swift Test OS X Platform
Git Sha - 3111fcac9ab9af151b11419123071c89d7a3a05d

@swift-ci please test macOS

@swift-ci please test Windows


Correctly resolve null workflow locals to Optionals

Java optional can't itself contain null, so use ofNullable to flatten Optionality when retrieving null values from the map of runner locals.
Closes #1761
What was changed
Use ofNullable to construct Optionals from values that may be null.
Why?
There are three cases when getting values from a map where nullity matters:

it's absent
it's null
it's non-null

The code handled the first with empty and tried to combine the second and third with of, (probably) not realizing of would not handle the second case.
But I Don't Want to Call the Supplier
As #1761 points out, calling get over and over with no set results in repeated supplier calls. That means the supplier must be cheap and ideally pure, or at least idempotent. To me, this means it's fine to call the supplier whenever the locals have a null value. We just can't crash. If the user wants to differentiate between "affirmative absence" and nullity, they can use whatever type they want.
If we want the supplier to be called at most once regardless of what it returns, we're making what could be seen as an API change, albeit a small one. This is just fixing an immediate bug. Does that make sense?
If we want to go that way, I have a more ambitious branch that tries to disambiguate the cases and invoke the supplier only when needed.
Checklist

Closes #1761

How was this tested:

Added a unit test. This code seemed to be untested, so I wasn't sure if there was a preferred/better idiom, but it was incredibly cheap to write, so I did it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Using ofNullable does not really fix the issue. If you wrote tests for WorkflowLocal with a supplier you'd see that it will end up calling the callback passed to withInitial again if you return an empty Optional. The problem is Optional only can represent two states, not set or has a (not null) value. As you pointed out need to represent 3 states not set, null or a (not null) value

Using ofNullable does not really fix the issue. If you wrote tests for WorkflowLocal with a supplier you'd see that it will end up calling the callback passed to withInitial again if you return an empty Optional. The problem is Optional only can represent two states, not set or has a (not null) value. As you pointed out need to represent 3 states not set, null or a (not null) value

Right, that's what my other more invasive branch does. It sounds like you don't just want to fix the NPE, but regard the re-calling of the initial supplier as a bug. I'll open a second PR from my other branch shortly.

Using ofNullable does not really fix the issue. If you wrote tests for WorkflowLocal with a supplier you'd see that it will end up calling the callback passed to withInitial again if you return an empty Optional. The problem is Optional only can represent two states, not set or has a (not null) value. As you pointed out need to represent 3 states not set, null or a (not null) value

https://github.com/temporalio/sdk-java/pull/1779

Superseded by #1779


Running tests with buildRustCrate

Issue description
buildRustCrate can be used to build binary, library and procmacro crates but I think tests are not yet supported. (I'd be happy if I am wrong!)
I think having separate build tooling for running tests is not optimal:

I'd like to test the same binaries that I deploy to production.
Testing with nix would make it potentially easy to provide some native dependencies, like e.g. postgres, and would tie in nicely with providing good nix-shell dependencies.

I'd be interested in the full range of

"unit tests"
"doc tests" and
"integration tests".

It is probably good to separate building tests from running tests.
Pinging some potentially interested users (sorry if you are not interested in this topic):  @P-E-Meunier @vitiral @Mic92
I gladly take a full solution but I'd also be interested in pointers in how other languages solve this with nix or and outline on what would be a idiomatic way to achieve this.

I'm indeed interested in this topic, but I'm afraid I don't have much time to work on it right now.
If you want to implement it, I'd be happy to review. The way to go is to look at what cargo test does, and try to mimic that. I might be wrong, but I believe it's just as easy as calling rustc just like in the buildPhase, but with option --test.
Then doc tests can be built and run using rustdoc. I would start by editing pkgs/build-support/rust/buildRustCrate/default.nix, and testing it on a tiny example crate (just run carnix generate-nix --src ./. --standalone, and then nix-build Cargo.nix.
I don't think any change needs to be done to Carnix, but don't hesitate to tell me if you need something done in Carnix.

On thing that is important to me and I would like advice on is having separate derivations for

A) building the library
A2) building the binary, depends on A)
B) building the library with test-config
C_i=1..n) for each of the different test binaries (depends on B)
D_i=1..n) running the tests (maybe unnecessary but rerunning the tests should maybe not need a rebuild), depends on C_i

That way, we only do the necessary rustc invocations if something changes during development.
It would still be nice if the derivations could still be created with one function call similarly to buildRustCrate. So the options are:
A) Create a new function that returns a attribute set with a bunch of derivations, keyed by e.g. lib, lib_test, binary.<bin_name>, build_test.<test_name>, run_test.<test_name>, ... This new function could use an extended buildRustCrate under the hood.
B) Make buildRustCrate behave like A with certain parameters (seems not so nice).
C) Make buildRustCrate return a derivation that does all of the above with the right parameters -- having to rebuild, retest everything on change.
I prefer A but I'd like to hear the opinions of more experienced "nixers".

@P-E-Meunier : I'd love to chat but I have trouble contacting you. I send you a message on lobste.rs and tried to do the same on IRC. Email would be terribly convenient for me.


Also give stringified errors to bindings

Better to display.

Could be done like here https://gist.github.com/Thoralf-M/addcee81663c84e55362f067b1fc68ea


[WIP] Use add for bulk_add rather than set

Minor additions to collection management and bug fix

Codecov Report

Merging #28 into develop will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop      #28      +/-   ##
===========================================
+ Coverage    98.33%   98.33%   +<.01%
===========================================
  Files           36       36
  Lines         1559     1565       +6
===========================================
+ Hits          1533     1539       +6
  Misses          26       26

Impacted Files
Coverage Δ

ppa/archive/views.py
97.39% <100%> (ø)
:arrow_up:

ppa/archive/tests/test_views.py
100% <100%> (ø)
:arrow_up:

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 e8d84a7...b8d3323. Read the comment docs.

Looks good so far.


[Feature-1608][admin] Support get task lineage by taskid with openapi

Purpose of the pull request

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

#1759


sublime text osx

Can someone please explain what this step means:
Alternatively, add the path to the new ctags executable to the settings, under command. If you have Xcode / Apple Developer Tools installed this path will likely be /usr/local/bin/ctags.
Specifically the 'add the path to the new ctags executable to the settings, under command.' what exactly does this mean?

Since you mention Apple Dev Tools, I'm assuming you are using an OSX platform.
ctags itself is an seperately installed application to "tag" definitions and variable usages in source code. The default Apple provided version of ctags doesn't work well for the features we need on this sublime plugin. So it is suggested to install your own version of ctags (I used $ brew install ctags in the terminal) and add it's path to the plugin by navigating to these menus: Sublime Text 2-> Preferences -> Package Settings -> CTags -> Settings - Default. Add your ctags path to the "command": entry
You can find the path to your ctags application using $ which ctags in a terminal (it was "command": "/usr/local/bin/ctags" for my system).

It would be awesome to just add this to the description of OS X setup "Alternatively, add it to the package settings under "command" in Sublime Text 2 -> Preferences -> Package Settings -> CTags -> Settings " and you probably want " - User", not " - Default". I also didn't get which settings you meant.
If you have the command line tools of Xcode installed, apparently it uses ctags from /Applications/Xcode/...etc.
Cheers!


Minimal example?

Can someone please give a minimal working sample on how to use this library. Readme has a code on how to create a custom node, what about something that just works? I've searched codebase here with no success.

A fully working code example is on the long-term to-do list.
Please reference the documentation. After copying the example node, check out HANDLER

It may be helpful to provide a temporary example first and then replace it with a complete example. A runnable example is the best way to help understanding the library.


UPDATE instead of INSERT when nested struct has string primary key

Hello,
When I try to call the "Create" function on a struct with nested struct which has string primary key (that I have to init manualy), according to the .debug(), GORM do an UPDATE instead of an INSERT in SQL.
Here the complete file (which could be usefull for some guy like me discovering GORM :) )
gormSample.txt
Best regards

In addition, I know about the way to generate an ID throw the BeforeCreate function..
However, in my case, I want to put a key manually

My problem was : I had a struct which primary key was also a foreign key.
That was a problem because GORM don't manage this problem directly.
As a solution, I must have add a field (sql ignored) in my struct, like this :
type WizardContent struct {
ID string gorm:"primary_key;column:ID"
//My other fields
ContentID string sql:"-" gorm:"column:ID"
}
And add a BeforeCreate method (standard in Gorm) to put the content of my Content field into the ID field (to bypass the UPDATE and force the INSERT) :
func (u *WizardContent) BeforeCreate(scope *gorm.Scope) error {
scope.SetColumn("ID", u.ContentID)
return nil
}
After that, when I tried to Find my Item into a Preload, I was facing another problem :
Gorm automaticaly put the ID of my top struct as primary key of my targeted one.
To avoid this behaviour, I have had to create an AfterFind method (standard in Gorm) to set tje ID field before GORM did his automatic fill :
func (u *WizardContent) AfterFind(scope *gorm.Scope) error {
u.ContentID = u.ID
return nil
}
With this method, I'm able to manage a struct with one-to-one association when the child PK is also the FK to the parent struct.
I hope it'll help someone :)
...Over

i'm having the same problem.
however my case are fairly easy, with one struct having nested sturct slice.  after i call create, it will create a insert sql for the main struct. then it will update the nested struct when there is nothing in the db...

type Video struct {
	Index    string `json:"-" gorm:"type:varchar(100);not null"`
	Title    string `json:"videoname,omitempty" gorm:"type:varchar(100);not null"`
	Id       string `json:"cloudname,omitempty" gorm:"type:varchar(100);not null"`
	ImageUrl string `json:"imageurl,omitempty" gorm:"type:varchar(100);not null"`
	VideoUrl string `json:"videourl,omitempty" gorm:"type:varchar(100);not null"`
	Detail   string `json:"detail,omitempty" gorm:"type:varchar(100); not null"`
}

type Series struct {
	Id     string  `json:"subject_id,omitempty" gorm:"type:varchar(100)"`
	Title  string  `json:"subject,omitempty" gorm:"type:varchar(100);not null"`
	Videos []Video `json:"details,omitempty" gorm:"ForeignKey:Index;AssociationForeignKey:Id"`
}

I'm having a similar issue. I have a one-to-many relationship, where both tables have a string primary key, like this:
type Profile struct {
  ID string `gorm:"primary_key;unique_index"`
  Names []Name
}

type Name struct {
  ID string `gorm:"primary_key;unique_index"`
  ProfileID string
  Value string
}

Since these IDs are not auto incrementing, I added a BeforeCreate callback to set a UUID value for the ID:
func (p *Profile) BeforeCreate() (err error) {
	p.ID = uuid.NewV4().String()
	return nil
}

func (n *Name) BeforeCreate() (err error) {
	n.ID = uuid.NewV4().String()
	return nil
}

When I call db.Create(&profile) the INSERT statement for Profile has an ID value, but the one for Name does not.

Similar issue happened to me. Solved this by adding gorm.Model to every struct definition.

Has anyone solved this for structs that don't use gorm.Model and want to set the ID themselves?

should works now.
package main

import (
	_ "github.com/go-sql-driver/mysql"
	"github.com/jinzhu/gorm"
	_ "github.com/lib/pq"
	_ "github.com/mattn/go-sqlite3"
)

var db *gorm.DB

type Image struct {
	Name     string `gorm:"primary_key"`
	Status   string
	Versions []ImageVersion
}

type ImageVersion struct {
	SHA        string `gorm:"primary_key"`
	ImageName  string `gorm:index`
	LayerCount int
}

func init() {
	var err error
	// db, err = gorm.Open("sqlite3", "test.db")
	// db, err = gorm.Open("postgres", "user=username dbname=password sslmode=disable")
	db, err = gorm.Open("mysql", "gorm:gorm@/gorm?charset=utf8&parseTime=True")
	if err != nil {
		panic(err)
	}
	db.LogMode(true)
}

func main() {
	db.DropTable(&Image{}, &ImageVersion{})
	db.AutoMigrate(&Image{}, &ImageVersion{})

	image1 := Image{
		Versions: []ImageVersion{
			{SHA: "111"},
			{SHA: "222"},
		},
	}

	db.Save(&image1)
}


Support for dyn_hotplug by Stratosk.

Thanks or doing this.

I have discovered a "strange" behavior in turning on/off dyn_hotplug. It seems that reading the values in /sys/module/dyn_hotplug/parameters/enabled will always return Y or N.
While writing the values you can submit either Y/N or 1/0.
Do you have a clue if this behavior is fine and to be expected?
I did a few tests to figure this out..
root@:/ # echo 1 > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
Y
root@:/ # echo N > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
N
root@:/ # echo 0 > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
N
root@:/ # echo 1 > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
Y
root@:/ # echo 0 > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
N
root@:/ # echo Y > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
Y

Yeah,  this is normal behavior of the module_param kernel function.
The only time that you have to echo the same type of value to the node is
when people are handling the sysfs node transactions themselves rather than
utilizing the functions built into the kernel to do it.
On Jun 13, 2016 4:59 AM, "Matthias"<EMAIL_ADDRESS>wrote:
I have discovered a "strange" behavior in turning on/off dyn_hotplug. It
seems that reading the values in /sys/module/dyn_hotplug/parameters/enabled
will always return Y or N.
While writing the values you can submit either Y/N or 1/0.
Do you have a clue if this behavior is fine and to be expected?
I did a few tests to figure this out..
root@:/ # echo 1 > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
Y
root@:/ # echo N > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
N
root@:/ # echo 0 > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
N
root@:/ # echo 1 > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
Y
root@:/ # echo 0 > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
N
root@:/ # echo Y > /sys/module/dyn_hotplug/parameters/enabled
root@:/ # cat /sys/module/dyn_hotplug/parameters/enabled
Y
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/yoinx/kernel_adiutor/pull/33#issuecomment-225524968,
or mute the thread
https://github.com/notifications/unsubscribe/ABkbvwz5zR7_3-XHhAqYpQLMJchvqYgDks5qLRvagaJpZM4Iz2mM
.

Ah ok. Thanks for clearing up. I assume that my implementation is correct, using Y/N for read & write operation?

Yeah,  it's always safest to match the write operation to the read.
I'm not sure if you watch my other commits,  but this is why I added that
isLetter utility function.  This can be used inline with a read in order to
match the write to the read dynamically.
I've done a few commits like that now.
On Jun 13, 2016 5:32 AM, "Matthias"<EMAIL_ADDRESS>wrote:

Ah ok. Thanks for clearing up. I assume that my implementation is correct,
using Y/N for read & write operation?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/yoinx/kernel_adiutor/pull/33#issuecomment-225532510,
or mute the thread
https://github.com/notifications/unsubscribe/ABkbv1FNjmpvG0wWqSXNM1pigrXbtzAYks5qLSOdgaJpZM4Iz2mM
.


Database reconnector logic seems broken?

Laravel Version
11.x
PHP Version
any
Database Driver & Version
irrelevant
Description
I've discovered this while debugging a very confusing scenario with parallel tests. It may be best if I start with that before getting to the root issue here. I apologize for the length/convoluted report upfront.
Essentially, if you use CACHE_DRIVER=database in tests, put this in AppServiceProvider::boot():
RateLimiter::for('anything', function () { /* doesn't matter */ });

and try to run tests with -p, while using cache in your tests, you will get "Call to a member function prepare() on null" aka somewhere we tried to use a Connection instance whose $pdo is set to null.
The cause is that RateLimiter instantiates Cache\Repository, which in the case of CACHE_DRIVER=database contains DatabaseStore which then holds a Connection instance. You can verify this by simply doing cache()->store('database'); in the service provider instead of using RateLimiter.
So you basically get CacheManager::$stores['database'] = DatabaseStore with a concrete Connection injected.
This then gets invalidated by this call https://github.com/laravel/framework/blob/8ffd13c6c66d431450a08d78005feac2c332c72b/src/Illuminate/Testing/Concerns/TestDatabases.php#L53 calling DB::purge(), only when parallel tests are used.
After some source diving I found that connections should be self-healing, via the Connection::reconnect() method. However, this logic seems to be flawed (?) because it only creates a new repaired Connection on DatabaseManager but doesn't fix the original Connection's $pdo.
See this:
https://github.com/laravel/framework/blob/8ffd13c6c66d431450a08d78005feac2c332c72b/src/Illuminate/Database/Connection.php#L765-L771
https://github.com/laravel/framework/blob/8ffd13c6c66d431450a08d78005feac2c332c72b/src/Illuminate/Database/Connection.php#L1006-L1011
https://github.com/laravel/framework/blob/8ffd13c6c66d431450a08d78005feac2c332c72b/src/Illuminate/Database/Connection.php#L992-L996
With $reconnector being:
https://github.com/laravel/framework/blob/8ffd13c6c66d431450a08d78005feac2c332c72b/src/Illuminate/Database/DatabaseManager.php#L71-L73
My suggestion is that $reconnector should look more something like this?
$this->reconnector = function ($connection) {
    $connection->setPdo(
        $this->reconnect($connection->getNameWithReadWriteType())->getRawPdo()
    );
};

(One caveat being that we don't deal with read/write PDO granularity here but I'm not sure if the reconnect logic does at all anyway.)
With that change, the issues described above disappear since DatabaseStore's $connection gets healed by the reconnect logic.
For now I've created a draft PR https://github.com/laravel/framework/pull/53693.
Update: I've removed a section from here with some concerns, where I was worried that I may be missing the context for the current behavior. More source diving made it clear that the reconnecting logic makes perfect sense with DB::disconnect() but there's likely an oversight when the combination of DB::purge() and holding the purged Connection somewhere is used.
Thanks for your time.
Steps To Reproduce
$connection = DB::connection();

dump($connection->table('users')->get());

DB::purge();

// Call to a member function prepare() on null (= using a Connection instance w/ null $pdo)
dump($connection->table('users')->get());

Seems like the reconnector logic has been the same for 10 years since it was originally added in  https://github.com/laravel/framework/commit/143f7a93289eec54ea9f3efc3fba9f17511fcd92
Going over the code a bit more, my understanding of how the reconnector logic makes sense currently is:

DB::disconnect() keeps the Connection instance in DatabaseManager but clears its PDO
DB::purge() clears the PDO AND removes the Connection instance from the DB manager

My best guess would be that the reconnecting logic works fine if you only use a single Connection instance because then the connection that triggers the reconnect due to missing a $pdo value will be the same as the one within the DB manager that gets healed.
However if you use DB::purge() but manage to keep the old connection alive somewhere, that's when the problem occurs.

I've removed a section with some concerns from the original post. After discovering that the reconnecting logic makes sense with DB::disconnect() and there's a problem only with the combination of DB::purge() and keeping the old Connection around, it makes sense that my understanding here is correct and there's just an oversight in the implementation that affects this specific case.


Set default header value (Accept).

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

Coverage data is based on head (049f3fd) compared to base (b6841df).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##              main      #6   +/-   ##
=======================================
  Coverage     0.00%   0.00%
  Complexity      50      50
=======================================
  Files            6       6
  Lines          123     123
=======================================
  Misses         123     123

Flag
Coverage Δ

unit-test
0.00% <ø> (ø)

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

Impacted Files
Coverage Δ

src/EnolaClient.php
0.00% <ø> (ø)

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.


Setting or Getting a field of Paved object with "."

if I want to get or set gpu resource spec.template.spec.containers[0].resources.limits.nvidia.com/gpu
Is there a good way to solve this situation ?

@allenhaozi I believe so - you should be able to use square brackets, for example:
spec.template.spec.containers[0].resources.limits[nvidia.com/gpu]
Let us know if that doesn't work.