Conflict with prettier

Hi,
This issue is a transfer from initial issue on eslint-config-prettier as it would indeed make more sense to improve eslint-plugin-import.
I am currently using prettier through eslint run and there is a (tricky) rule that seems to break.
I am using JS without semicolons which implies declaration of IIFE with a semicolon before parenthesis. Then I have the following case:

Ok for prettier, not ok for eslint that will consider that first line is ending after the ";" and then eslint returns an "import/newline-after-import" error

const EventStore = require('../service/eventStore')

;(async () => {
  const eventBus = await EventBus.getInstance()
  eventBus.stanConnection.on('connect', registerCommandHandlers)
})()

Ok for eslint, not ok for prettier that returns a "Delete ↵" on line 3.

const EventStore = require('../service/eventStore')
;

(async () => {
  const eventBus = await EventBus.getInstance()
  eventBus.stanConnection.on('connect', registerCommandHandlers)
})()

Could not find a suitable solution for this particular use case.

(I’m confused why you’d ever need an IIFE in a world with modules)
I’m not sure how to address this conflict; it seems omitting semicolons isn’t compatible with both prettier and this particular eslint rule, and you may need to stop using one of those three.
A PR is welcome if it doesn’t involve adding an option.

In this case, IIFE is just useful at the top level of a service to provide async/await functionality. While it could be handled by using a .then method, I prefer keeping async/await style everywhere. But indeed, maybe the conjunction of "no semicolons", "import eslint rule" and "async/await style" is too specific to justify an update.

I received this error as well with two lines:
Delete `⏎⏎`eslint(prettier/prettier)

Now that top-level await exists, there's even less usefulness for an IIFE.

Possibly related: https://github.com/prettier/prettier/issues/1510

Given the obsolescence of IIFEs, the existence of top-level await, and the issue in prettier, I’m going to close this as unactionable here.


copy explicitly named labels from vault-crd to secret

This change requires that the vault-crd explicitly list labels to copy rather than implicitly copying them.  There's a label added by ArgoCD that implies that the secret was managed by ArgoCD which creates a synchronization difference.  ArgoCD will happily remove the secret, and then moments later vault-crd will add it back, ad-infinitum.

Can you please elaborate a bit more?

Sure.  When ArgoCD creates a Kubernetes resource, it labels it so that it knows which resources it is managing and which ones it is not.  If ArgoCD creates a vault-crd resource, it will have this label.  Vault-crd 1.5.0 will then copy that label into the secret it creates.  This makes ArgoCD think that the secret is under ArgoCD management, and since the secret isn't represented in the sources for the application, it assumes some prior revision in git created it.  Since (as far as ArgoCD is concerned) the secret doesn't belong in the cluster, ArgoCD will delete it.  Vault-crd then notices it's missing, and recreates it, and so on.

Any more thoughts about this, or something like it?

Can I do anything to help a solution for #54 to move forward?

sorry for the delay, I'm still not happy with this approach. Can we maybe switch to another approach via an application.property / env variable where we enable / disable the "copy" label feature? THis is then for sure enabled / disabled for all but maybe its then a bit cleaner.
WDYT?

At least in our environment, we do have some secrets with some labels that we'd like to copy, so having a feature flag around the entire capability isn't useful for us.  Listing labels to copy in an environment variable or JVM system property would work okay for us, but it takes control over what labels are copied out of the users hands, which seems less useful.  I couldn't find the use case https://github.com/DaspawnW/vault-crd/pull/41 is trying to address, so I'm not sure what would make the most sense there.

We've replaced the key parts of this functionality with a mutating webhook which removes the undesirable labels.  We're just accepting that the generated Secret doesn't have an ownerReferences entry for the Vault that created it.  :sadpanda:


Add missing translations

Translations for the ForgotPassword and RestorePortfolio views are still missing. There are also some in the components, as well as some that are returned from the API. Also needs to add translations for the rest of the menu items.
Probably need to settle on some sort of convention regarding the translations keys too.

Looking good so far 👌

I've been pretty granular with the translation keys, putting them each in their respective view, which results in some duplicates. Should we put common/duplicated keys in common.json instead or should we just merge this and fix that later?

Should we put common/duplicated keys in common.json instead or should we just merge this and fix that later?

Yeah, we should. Wonder if i18next supports referring to other keys in the translate config, so you could do:
"feedback": "${common.feedback}",

That could also be useful if we want to reuse parts of a string.
This can be done in a follow-up PR though.

@kevva I'm seeing pretty large slowdowns when switching to this branch. Especially noticeable when typing in input fields or switching between the main views. Can you look into that?

I guess it's because it'll run the t function on every render. That's one of the advantages of using the HOC. It'll prevent the translations from being ran again by doing a comparison in shouldComponentUpdate.

I'm surprised calling maybe 20 t() methods can add almost 1 second render time. Transforming the string should not be that slow. It kinda feels like it's still doing IPC communication on render somehow... We should memoize t() regardless.

@kevva Can you fix the merge conflict?

@kevva If you open the Devtron tab in DevTools, then IPC in the sidebar, press Record, and then go to a new main tab in the UI, you'll a gadzillion IPC calls.

@kevva If you open the Devtron tab in DevTools, then IPC in the sidebar, press Record, and then go to a new main tab in the UI, you'll a gadzillion IPC calls. Don't wait too long until you press Record again to stop, otherwise DevTools will hang.

Yup, it's due to https://github.com/electron/electron/blob/master/docs/api/remote.md#remote-objects. I decided to use the ipc module instead which seems to fix the issue.

Merging as this looks good now and the performance issue has been fixed 👌

@kevva Can you fix https://github.com/hyperdexapp/hyperdex/pull/368#discussion_r198012393 ?
I also noticed in the DevTools console:

i18next::translator: missingKey en-US dashboard activity.swappedTitle activity.swappedTitle
logger.js:23 i18next::translator: missingKey en-US dashboard activity.swappedDescription activity.swappedDescription

Should we put common/duplicated keys in common.json instead or should we just merge this and fix that later?

@kevva Can you open an issue about this so we don't forget?

@kevva Can you fix #368 (comment) ?

Forgot to say, I already fixed this here as I needed it for Crowdin: https://github.com/hyperdexapp/hyperdex/commit/ef47f50085a6c42638c8bf2add0edcfd398a2be6

@kevva I noticed some more places with missing translations:

https://github.com/hyperdexapp/hyperdex/blob/a7e56068a5d8098d31e0ed6005456b58f0a6250e/app/renderer/containers/CreatePortfolio.js#L46
https://github.com/hyperdexapp/hyperdex/blob/a7e56068a5d8098d31e0ed6005456b58f0a6250e/app/renderer/containers/RestorePortfolio.js#L49
https://github.com/hyperdexapp/hyperdex/blob/a7e56068a5d8098d31e0ed6005456b58f0a6250e/app/renderer/containers/ForgotPassword.js#L43
https://github.com/hyperdexapp/hyperdex/blob/a7e56068a5d8098d31e0ed6005456b58f0a6250e/app/renderer/containers/ForgotPassword.js#L17
https://github.com/hyperdexapp/hyperdex/blob/a7e56068a5d8098d31e0ed6005456b58f0a6250e/app/renderer/containers/Exchange.js#L129-L130
https://github.com/hyperdexapp/hyperdex/blob/a7e56068a5d8098d31e0ed6005456b58f0a6250e/app/renderer/components/DepthChart.js#L151
Many strings in https://github.com/hyperdexapp/hyperdex/blob/a7e56068a5d8098d31e0ed6005456b58f0a6250e/app/renderer/components/SwapDetails.js
https://github.com/hyperdexapp/hyperdex/blob/a7e56068a5d8098d31e0ed6005456b58f0a6250e/app/renderer/views/Exchange/Order.js#L327
We need to translate statusFormatted in https://github.com/hyperdexapp/hyperdex/blob/d2d463ba50470f40a4664abee00319abe0e7c35f/app/renderer/swap-db.js

I'm also getting an error in the console:
warning.js:33 Warning: Failed context type: The context `i18n` is marked as required in `Trans`, but its value is `undefined`.
    in Trans (created by Intro)
    in main (created by Modal)
    in div (created by Modal)
    in div (created by Modal)
    in Modal (created by Intro)
    in div (created by Intro)
    in Intro (created by Consumer)
    in Consumer (created by Subscribe)
    in Subscribe (created by Exchange)
    in Exchange (created by View)
    in View (created by AppView)
    in AppView (created by Consumer)
    in Consumer (created by Subscribe)
    in Subscribe (created by App)
    in App (created by HotExportedApp)
    in AppContainer (created by HotExportedApp)
    in HotExportedApp
    in Provider (created by Consumer)
    in Consumer (created by Provider)
    in Provider

I also noticed this:

I'm also getting an error in the console

That is a bug in react-i18next. It shouldn't depend on i18n being in context since you can pass it in as a prop.

That is a bug in react-i18next. It shouldn't depend on i18n being in context since you can pass it in as a prop.

Can you open an issue on react-i18next about that?


[backport] Fix multi thread  bug in memory pool

This PR is a backport of https://github.com/cupy/cupy/pull/170

LGTM!


extra space inside \iexec

@rultor release, tag is 0.11.3

@rultor release, tag is 0.11.3

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.11.3

@yegor256 Done! FYI, the full log is here (took me 1min)


Use Gradle dependencies for Azure Services

Whenever Mobile Services and Notification Hubs SDKs get published as Gradle dependencies, we could start adding them through the built in template functionality, and remove the forced Gradle Sync from the end of the wizard, as in PR https://github.com/MSOpenTech/msopentech-tools-for-intellij/pull/10

Let's close this one for Mobile Services and open a different one for Notification

Created issue #166


Search doesn't work sometimes

Type: Bug
I don't know the reason for this, application crashes, restart, not activating some modules correctly in VSCode or its search algorithm problem. I have a small project open now, sometimes much more. Most often, the search works properly, sometimes it turns out that it doesn’t show anything at all and either knocks out that nothing was found, or as it’s just now, the bar is walking, as if it’s looking for more, through Notepad ++ I found almost instantly the word that I’m looking for in all files in the project folder . This is not the first time the problem has appeared. Previously, even with VSCode with a remote server, there was such a problem. Sometimes just restarting VSCode helps (most often)
VS Code version: Code 1.80.1 (74f6148eb9ea00507ec113ec51c489d6ffb4b771, 2023-07-12T17:22:07.651Z)
OS version: Windows_NT x64 10.0.19045
Modes:

System Info

Item
Value

CPUs
Intel(R) Core(TM)2 Duo CPU     E8200  @ 2.66GHz (2 x 2720)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: disabled_offopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
7.99GB (2.73GB free)

Process Argv
--crash-reporter-id e2fbdb40-6a2e-43b3-9c83-75af536d25b2

Screen Reader
no

VM
0%

Extensions (85)

Extension
Author (truncated)
Version

vscode-nginx-conf
ahm
0.1.3

laravel-extra-intellisense
ami
0.6.3

smarty-template-support
asw
2.1.1

laravel-blade-spacer
aus
2.1.3

javafx-css-support-vscode
ber
1.0.0

vscode-intelephense-client
bme
1.9.5

laravel-goto-view
cod
1.3.9

native-ascii-converter
cwa
1.0.9

vscode-database-client2
cwe
6.6.0

maven-dependency-explorer
dhr
1.0.17

gitlens
eam
14.1.1

vscode-great-icons
emm
2.1.93

vsc-material-theme
Equ
33.8.0

vsc-material-theme-icons
equ
2.8.0

auto-close-tag
for
0.5.14

auto-rename-tag
for
0.1.10

code-runner
for
0.12.0

shell-format
fox
7.2.5

vscode-yarn
gam
2.1.0

codespaces
Git
1.14.12

vscode-pull-request-github
Git
0.68.1

laravel-create-view
gli
0.0.6

php-awesome-snippets
hak
1.1.3

vscord
Leo
5.1.14

inline-parameters
lia
0.2.1

php-namespace-resolver
Meh
1.1.9

git-graph
mhu
1.30.0

gitignore
mic
1.0.1

dotenv
mik
1.0.1

theme-monokai-pro-vscode
mon
1.2.1

vscode-docker
ms-
1.26.0

vscode-language-pack-ru
MS-
1.80.2023071209

vscode-jupyter-cell-tags
ms-
0.1.8

vscode-jupyter-slideshow
ms-
0.1.5

remote-containers
ms-
0.299.0

remote-ssh
ms-
0.102.0

remote-ssh-edit
ms-
0.86.0

remote-wsl
ms-
0.80.2

vscode-remote-extensionpack
ms-
0.24.0

notepadplusplus-keybindings
ms-
1.0.7

remote-explorer
ms-
0.4.1

remote-server
ms-
1.3.0

composer-Intelephense
mua
1.0.1

gradle-language
nac
0.2.3

laravel-goto-components
nao
1.2.0

sftp
Nat
1.16.3

php-docblocker
nei
2.7.0

vscode-groovy-lint
Nic
2.0.0

vetur
oct
0.37.3

indent-rainbow
ode
8.3.1

laravel-blade
one
1.34.0

laravel5-snippets
one
1.17.0

gitpatch
par
0.2.1

vscode-php-getters-setters
php
1.2.3

material-icon-theme
PKi
4.29.0

quicktype
qui
12.0.46

fabric8-analytics
red
0.3.10

java
red
1.20.0

vscode-xml
red
0.26.1

vscode-yaml
red
1.13.0

phpdoc-comment-vscode-plugin
rex
1.3.0

vscode-gradle-extension-pack
ric
0.0.4

rsl-vsc-focused-folder
rsl
0.2.1

laravel-artisan
rya
0.0.31

jenkinsfile-support
sec
0.1.0

markdown-preview-enhanced
shd
0.6.8

vscode-checkstyle
she
1.4.2

javafx-support
shr
0.0.1

vscode-blade-formatter
shu
0.21.0

indenticator
Sir
0.7.0

ayu
tea
1.0.5

java-imports-snippets
tus
0.0.1

errorlens
use
3.12.0

intellicode-api-usage-examples
Vis
0.2.7

vscodeintellicode
Vis
1.2.30

vscode-gradle
vsc
3.12.7

vscode-java-debug
vsc
0.52.2023063003

vscode-java-dependency
vsc
0.23.0

vscode-java-pack
vsc
0.25.2023062906

vscode-maven
vsc
0.41.0

volar
Vue
1.8.5

jinja
who
0.0.8

php-debug
xde
1.32.1

php-pack
xde
1.0.3

markdown-all-in-one
yzh
3.5.1

(1 theme extensions excluded)

After restarting VSCode, I hit the retry search button and found all the results in less than 2 seconds

Do you have Search only in Open Editors enabled? What search query settings do you have?

No, I never turn it on.  Sampling by file may or may not stand.  I am looking for a line that is definitely there, after restarting all the settings entered remain and the search is then successful.  Maybe there is a way to view the logs, does it search at all and what does the search stage hang on?  This problem doesn't happen to me very often.  3-5 times already been for all the time

There are still different situations, sometimes I can just erase the line and paste it again.  To start the search.  This happens if I am on some other tab on the side and from the code I press Ctrl + Shift + F by selecting text. This leads to the opening of the search tab and the selected line immediately goes into the search.  But it seems that this problem either just does not always happen, or when I was in the vault on the side of some plugin.  In the situation above, a second search does not lead to anything, but this may also be related to the same problem.

@andreamah

Can you try with all extensions disabled?

Can you try with all extensions disabled?

Unfortunately, I can't work that way. The error does not appear so often to expect it and work without all the extensions

There are still different situations, sometimes I can just erase the line and paste it again. To start the search. This happens if I am on some other tab on the side and from the code I press Ctrl + Shift + F by selecting text. This leads to the opening of the search tab and the selected line immediately goes into the search. But it seems that this problem either just does not always happen, or when I was in the vault on the side of some plugin. In the situation above, a second search does not lead to anything, but this may also be related to the same problem.

with this, is there a difference in whether the file is open or not? The workspace search works a little different in open files.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Update the settings.php in pkg/ddevapp/drupal/drupal10 to adjust to the changes in drupal 10.1

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem?
In todays Lean coffee table call we've discussed a feature that got introduced in Drupal 10.1 and is set in the settings.php only. I was a bit confused when I was unable to find it in my fresh Drupal 10.1 install until i realized i've used ddev config to set up the project. When i compared the settings.php with the default.settings.php i actually found the changes introduced by that feature (https://www.drupal.org/project/drupal/issues/3027639). on a diff between the settings.php and the default.settings.php there are a few more changes
on top // @codingStandardsIgnoreFile changed to // phpcs:ignoreFile , transaction support section got removed, anything in relation to databases got changed significantly, a fallback to http for update manager got added and so on. there are quite a few changes that got in 10.1, since 10.0 was about deprecation and updating versions mainly.
Describe your solution
adjust the current settings.php for the drupal 10 project type to the changes introduced with 10.1.x
Describe alternatives
No response
Additional context
No response

I'm fine with just updating the default settings.php
It's verbatim here, https://github.com/ddev/ddev/blob/master/pkg/ddevapp/drupal/drupal10/settings.php


Cannot read property 'map' of null" Warning leads to Error

Getting this warning post upgrade to Laravel Mix 2.1 under Laravel 5.5 with latest Vue Color "vue-color": "^2.6.0",
[Vue warn]: Error in render: "TypeError: Cannot read property 'map' of null"
found in
---> <Compact> at src/components/Compact.vue

It is triggered by
warn = function (msg, vm) {
    var trace = vm ? generateComponentTrace(vm) : '';

    if (config.warnHandler) {
      config.warnHandler.call(null, msg, vm, trace);
    } else if (hasConsole && (!config.silent)) {
      console.error(("[Vue warn]: " + msg + trace));
    }
  };

This warning leads to an error
TypeError: Cannot read property 'map' of null
    at VueComponent.paletteUpperCase

Which refers to
paletteUpperCase: function(e) {
                        return e.map(function(e) {
                            return e.toUpperCase()
                        })
                    },

Any ideas why this is popping up now and what to do?

I think it's cause by missing prop palette, but this prop should have default value. You can try to pass  palette to Compact.vue, see if the error go away:
const defaultColors = [
  '#4D4D4D', '#999999', '#FFFFFF', '#F44E3B', '#FE9200', '#FCDC00',
  '#DBDF00', '#A4DD00', '#68CCCA', '#73D8FF', '#AEA1FF', '#FDA1FF',
  '#333333', '#808080', '#CCCCCC', '#D33115', '#E27300', '#FCC400',
  '#B0BC00', '#68BC00', '#16A5A5', '#009CE0', '#7B64FF', '#FA28FF',
  '#000000', '#666666', '#B3B3B3', '#9F0500', '#C45100', '#FB9E00',
  '#808900', '#194D33', '#0C797D', '#0062B1', '#653294', '#AB149E'
]

<Compact :platte="defaultColors" :color="color" @change="updateValue" />

Will test later on this week or beginning next week. Thanks @linx4200 . Reverted briefly to 2.3.2 for now to solve some other bugs and will then try the 2.6.2 with your suggestions

Closing this issue for now. Let us know if you have anything to add.


Suppress settings sync badge while window is loading

Have settings sync enabled
Reload the window
See the blue (1) badge appear on the accounts activity bar item appear briefly

I keep seeing this and thinking there's something wrong, then it disappears. Would be a little nicer if it would wait a couple seconds before deciding whether to show it

/duplicate
@RMacfarlane this needs static authentication provider contribution as I am not sure until when to wait  - https://github.com/microsoft/vscode/issues/103405


Update DBreeze NuGet package

I was not able to properly do it, I got could not load the assembly runtime error when I to so.

we don't really care about updating dbreeze I think. We just need it do work reliably.

From a security point of view it's not a good idea to not keep our packages up to date.

From a practical point of view people keep reporting problems those are happening because of DBreeze, updating might makes it better.

 Updating a package shouldn't be so hard!

On the contrary, updating without reviewing can introduce a bug. This is not a high profile project.

Latest DBreeze package have issues on .net core 2.0. (https://github.com/hhblaze/DBreeze/issues/42 and https://github.com/hhblaze/DBreeze/issues/37) I needed to downgrade on internal projects. I will not upgrade until I test a new stable DBreeze version which work everywhere on another project.

That doesn't solve the issue.


login incorectly assumes that the first argument is credentials iff there are two arguments

It should instead be using the auth method to determine this because if we're using CustomToken, Password, or OAuthToken we can just pass in the credentials object and no config. Right now login will reject the promise in this case but it should work.

I think it's fine that credentials is first, as long as we have a check for Password. Both CustomToken and OAuthToken require you to provide a config object as the second parameter, but Password should not.
Password currently requires you to provide a config object as the second parameter or it will provide a confusing error of You must include credentials to use this auth method.. This is because if only one param is provided, login() expects it to be the config, which should not be the case for Password.
Password should work with credentials as the only param:
constructor(af: AngularFire) {
  af.login({ email<EMAIL_ADDRESS>password: 'secret' }).then(auth => console.log(auth));
}

To do this we can provide a PasswordCredentials interface and an extra overload:
export interface PasswordCredentials {
  email: string;
  password: string;
}
public login(credentials?: PasswordCredentials): Promise<FirebaseAuthState>;

Then in .login() when we are checking the argument length we can do as simple check on a single argument:
    if (arguments.length > 2) {
      return this._reject('Login only accepts a maximum of two arguments.');
    } else if (arguments.length == 2) {
      credentials = obj1;
      config = obj2;
    } else if (arguments.length == 1) {
      // Check if obj1 is password credentials
      if (obj1.password && obj1.email) {
        credentials = obj1;
        config = {};
      } else {
        config = obj1;
      }
    }

Closed with #132.


Implement Application Settings

For customization of entire application, including:

[ ] Default role & license for new users
[ ] Enable/disable self-registration
[x] Time zone

[x] Will need to apply/interpolate to all displayed timestamps/datetimes

Timezones implemented on a per-user basis. Best practice is to set timezone per user and store Timestamps in UTC, and apply the timezone at time of display.
There is a per-application setting for timezone, it is recommended to keep it at UTC.


minBufferTime delays video startup?

Hi all.
After testing shaka-player a little bit more in depth, we realised that we have quite a big delay between first chunk seen and playback started. The cause is minBufferTime=10PTS in our VOD manifests. We never experienced this with other players (dash.js, bitmovin, Exo). And honestly we never understood this value to delay the startup. Before changing thousands of manifests, we are asking ourselves if you have miss interpreted this value. Regarding DASH-IF IOP:

the value of the minimum buffer time does not provide any instructions to the client on
how long to buffer the media. The value however describes how much buffer a client should have under ideal network conditions. As such, MBT is not describing the burstiness or jitter in the network, it is describing the burstiness or jitter in the content encoding. Together with the BW value, it is a property of the content. Using the "leaky bucket" model, it is the size of the bucket that makes BW true, given the way the content is encoded.

@haudiobe maybe can help there?
thanks

We interpret the minBufferTime to represent the minimum amount of content to buffer to maintain smooth playback.  That is part of the burstiness or jitter in the content encoding.  We buffer at least that amount to ensure we get smooth playback and don't enter a buffering state again immediately.  In the DASH spec, section A.2 it even suggests as an example DASH client to buffer at least minBufferTime before playing.

The client buffers media of for at least value of @minBufferTime attribute duration before starting
the presentation.

For now, we stand by our interpretation of minBufferTime.  This is necessary to avoid buffering in cases where the bandwidth estimate is very close to the bandwidth requirement for a given stream.
However, for cases where you don't control or can't easily update the manifests, we offer a configuration that you can use to ignore minBufferTime, at which point your configured rebufferingGoal will rule instead.  For example:
player.configure('manifest.dash.ignoreMinBufferTime', true);
player.configure('streaming.rebufferingGoal', 1 /* second */);

Does this help?

I know about these settings and that is how we mitigated it for now. But I am pretty sure there are other clients as well which will wonder why their playback is delayed by minBufferTime. In my opinion that is too conservative. Maybe you should explicitly write it somewhere in the docu so it is clear for everyone.

We'll add an entry to the FAQ.


AppTP dual-network

Task/Issue URL: https://app.asana.com/0/0/1202844197903883/f
Description
Add the AppTP dual-network stack.
Details of the PR:

integrates the new AppTP networking stack - repo will be made public soon

new networking layer is added as a git submodule

adds a new module, ie. vpn-network-[api/impl] that contains the
implementation of the new networking layer
Adds a new VpnNetworkStack contract implemented by both legacy and
new networking stacks
refactors TrackerBlockingVpnService so that it uses
VpnNetworkStack. So that now it doesn't know anything about
networking stack
Fixes the VpnRoutes to include app IPv4 private address ranges for
all IP classes.
Renames the NetworkSwitchHandling. This config will be enabled by
default in the dual-network binary, so that we can reconfigure the VPN
upon switching networks (ie. WIFI<>CELL)
Adds a new remote config ie. VpnNewNetworkingLayer. When enabled
users may get the new networking layer
Adds the VpnNetworkStackVariantManager that will handle the
networking layer allocation

Steps to test this PR
Test networking-stack allocation

[ ] fresh install from this branch
[ ] launch app and enable AppTP
[ ] verify that com.duckduckgo.mobile.android.vpn.network.stack.variant.v1 shared preference is set to either ng or legacy
[ ] clear app storage and re-launch the app. Do this as many times as necessary to see the other legacy or ng variant in the above preferences
the variant is configured to 50%, so not many clear/re-launch cycles should be needed

Test remotely disabling new networking layer

[ ] Modify the PrivacyConfigService to point to https://jsonblob.com/api/jsonBlob/963471835740258304
[ ] install/upgrade from this branch
[ ] enable AppTP
[ ] ensure com.duckduckgo.mobile.android.vpn.network.stack.variant.v1 contains ng or otherwise override the value to be ng and restart AppTP
[ ] filter logcat by NetGuard and ensure logs are printed when opening protected apps
[ ] Go to https://www.jsonblob.com/963471835740258304 and under appTrackerProtection > settings add the following config (and save)

        "vpnNewNetworkingLayer": {
          "state": "disabled"
        },

[ ] force close the app and re-open (ensure AppTP is enabled)
[ ] filter logcat by TcpNetworkToDevice
[ ] open some protected apps and verify logs appear (traffic logs from NetGuard should not appear)
[ ] set the vpnNewNetworkingLayer state to enabled and increase the version field in the JSON and save
[ ] force close the app and re-open (ensure AppTP is enabled)
[ ] filter logcat by TcpNetworkToDevice
[ ] open some protected apps and verify logs don't appear (traffic logs from NetGuard should now appear instead)

Test breakage report contains networking variant

[ ] install from this branch and enable AppTP
[ ] filter by m_atp_
[ ] report breakage for any app
[ ] verify the report contains the networkLayer JSON object with name set to either legacy or ng

Test new networking stack

[ ] install from this branch
[ ] launch app and enable AppTP
[ ] go to Settings -> AppTP dev settings -> enable VPN new networking layer toggle
[ ] filter logcat by NetGuard
[ ] open apps and verify logcat prints messages
[ ] smoke tests on AppTP (as we've been validating this internally for
the past weeks)

Current dependencies on/for this PR:

develop

PR #2273   👈

This comment was auto-generated by Graphite.


Fix clippy warnings

Plus refactor and optimize.
Signed-off-by: Jiahao XU<EMAIL_ADDRESS>

Codecov Report

Merging #7 (e33810b) into main (a9aab0b) will decrease coverage by 2.46%.
The diff coverage is 32.91%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main       #7      +/-   ##
==========================================
- Coverage   87.09%   84.62%   -2.47%
==========================================
  Files           3        4       +1
  Lines         550      566      +16
==========================================
  Hits          479      479
- Misses         71       87      +16

Impacted Files
Coverage Δ

src/string/mod.rs
92.47% <ø> (+11.16%)
:arrow_up:

src/string/impls.rs
32.91% <32.91%> (ø)

I would also love to fix the miri, but it is taking so long to run on my machine so I might have to submit another PR.

Hello
Can I ask for splitting this PR into smaller ones? It's a lot of stuff, not related to each other and hard to review as one whole.
Also, I'm not particularly fan of splitting the impls into a separate file, it makes them harder to find. Is there a good reason for that? (and that makes reviewing even harder, because quite everything is now involved in the diff)

Can I ask for splitting this PR into smaller ones? It's a lot of stuff, not related to each other and hard to review as one whole.

It's actually just fixing clippy warnings + splitting files, but I see that splitting impls into files make it pretty hard to review.

Also, I'm not particularly fan of splitting the impls into a separate file, it makes them harder to find. Is there a good reason for that? (and that makes reviewing even harder, because quite everything is now involved in the diff)

No, I just think it would make it more readable but obviously I was wrong.
Would put it back into one file to make it reviewable.

@vorner Done!

Pass the lifetime in some way through parameters. It is legal to have empty <> at impl, so some form of repetition for the lifetimes or using the tt fragment.

Thanks for the advice!
I didn't think of that and I've now implemented it.


Make Hyper look like advertised

Hey
I've installed Hyper on Win10, and looking to make it look like it's advertised.
Mine looks like number "2" image here: https://imgur.com/a/ctEZd ... I am looking to make it look liek image number "1". Is this possible?
(I know it's a theme, but I am thinking of the simple ">". Mine is looking rather ugly ;o)

You mean the PS1? That is something you can change, but I have no experience with that in Windows, so maybe someone else can help, but I think creating an issue isn't the right way 🤔

I don't know if that's it - that's why I wrote in here. Also, I haven't found any forum or something like that to answer those questions in, that's why I wrote an issue...

Install verminal, we have a bug currently so you will need to restart your PC before hyper command works.
After restarting, install by typing hyper I verminal and hitting enter (inside hyper)
then you should get the correct colors.
To change your prompt, It's easy In Mac and linux, I have no idea how to change it on windows, but google for "change window cmd prompt" maybe or "change ps1 windows" 😊

All the colors of Verminal are not applied, and it doesn't look like it should - at all. I'm not sure if this is because I'm using Windows.
I've managed to install ohmyzsh on Windows now, and it's pretty cool. Still would be nice to have it as simple and stylish as hyper is advertised on the website, but I guess it's not possible on Windows.

I don't know if it's possible on Windows, maybe some other windows user can help you get there 👍 🙌

Does this bug have to do with system variables? If so, shouldn't CDing into the Hyper directory, and then using the command work?


SyncTrayzor crashes with System.IO.PathTooLongException on "longer" paths

Syncthing v0.11.0 now supports extended-length paths, since I upgraded SyncTrayzor randomly crashed, I just tried to reproduce this - it happens everytime when a "longer" path has changed...

Can you open up the event viewer? Go to Start Menu -> Search for 'Event Viewer' -> Windows Logs -> Application. You should find two 'Error' entries for the crash (although there might only be one). Can you give me the details in there?

The first entry contains no new information, the second one has the stack trace, here it is:
Anwendung: SyncTrayzor.exe
Frameworkversion: v4.0.30319
Beschreibung: Der Prozess wurde aufgrund eines Ausnahmefehlers beendet.
Ausnahmeinformationen: System.IO.PathTooLongException
Stapel:
   bei System.IO.Path.NormalizePath(System.String, Boolean, Int32, Boolean)
   bei System.IO.Path.GetPathRoot(System.String)
   bei System.IO.RenamedEventArgs.get_OldFullPath()
   bei SyncTrayzor.Services.DirectoryWatcher.OnRenamed(System.Object, System.IO.RenamedEventArgs)
   bei System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32, UInt32, System.Threading.NativeOverlapped*)
   bei System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)

Welcome to the land of syncthing's pain.
\\?\ is the answer :dancer:

No, Syncthing is now auto-converting the long paths into a path with "\?" (I think, regarding the logs).
There are also no errors in the Syncthing console for too long paths (as in v0.10), and Syncthing itself isn't crashing, just SyncTrayzor, so this must be a problem here...

Hrm, I'm going to have to dig into this - nothing obvious on how to make the filesystem watcher accept long paths.
As a workaround, you can disable the directory watching for that folder, in the settings.
I'm afraid I have Jury Duty for the next couple of weeks, so my ability to work on SyncTrayzor is somewhat impaired. I'll hopefully be able to get out a fix soonish, but no promises :unamused:


Problem: community drivers not working w/ latest BDB

Solution: In the docs page listing the Community-Driven Libraries and Tools, make it clear that they might not work with the latest version of BigchainDB. Make it a warning rather than a note.

Codecov Report

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

@@          Coverage Diff           @@
##           master   #2443   +/-   ##
======================================
  Coverage      88%     88%
======================================
  Files          40      40
  Lines        2310    2310
======================================
  Hits         2033    2033
  Misses        277     277


Ignore Rails 6 master.key used on the new credentials mechanism

New

[ ] Template - New .gitignore template
[ ] Composition - Template made from smaller templates
[ ] Inheritance - Template similar to an existing template
[ ] Patch - Template extending functionality of existing template

Update

[x] Template - Update existing .gitignore template

Details
The new "secrets" mechanism of rails, that is the default on the lastest versions, "credentials" generates a master.key that should not be committed into versioning. rails new already adds it into the generated .gitignore file, but gitignore.io doesn't have it yet.
More info on this PR: https://github.com/rails/rails/pull/30067

My bad, misread the file, it was already there.


Text on app not currently affected by device's accessibility settings

Although some accessibility options on my iPhone seem to affect the view on the Eterna app (such as color filters, Smart Invert, and Classic Invert), the app's text does not seem like it can be modified by my phone's settings for test size or bold text.
If the text size can somehow be modified, it's currently not clear how to do so.

Not sure how much we have control over this. Going to punt to the rewrite


HIGH: [Reliability] [$250] Multiple calls to GetNewerActions on report open

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.60-7
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @quinthar
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1712180926567259
Action Performed:

Sign in to NewDot
Open any report and don't scroll anywhere

Expected Result:
Shouldn't call GetNewerActions multiple times
Actual Result:
GetNewerActions called  5times, despite not scrolling anywhere.  Also, all 5 calls seem identical
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01d7ea3b088204e3df
Upwork Job ID:<PHONE_NUMBER>479543808
Last Price Increase: 2024-04-11

Asking a clarifying Q: https://expensify.slack.com/archives/C049HHMV9SM/p1712318653409559?thread_ts=1712180926.567259&cid=C049HHMV9SM

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

https://github.com/Expensify/App/assets/9133401/ad6495ad-0e92-4da3-ab9e-734fec7a5519

I still can't reproduce this. Nobody else has reported it recently.

https://github.com/Expensify/App/assets/9133401/d319aa5d-38f9-4e9d-972f-dbdd55aedae0
So, an example of a single report loading GetNewerActions twice is https://staging.new.expensify.com/r/8036391930866711
When I load it, there are two GetNewerActions calls:
First:
jsonCode : 200
onyxData : [{onyxMethod: "merge", key: "reportActions_6028698164025499", value: {,…}}]
	0 : {onyxMethod: "merge", key: "reportActions_6028698164025499", value: {,…}}
		key : "reportActions_6028698164025499"
		onyxMethod : "merge"
	value : {,…}
<PHONE_NUMBER>858833627 : {person: [{type: "TEXT", style: "strong", text: "CFO expensivepie.com"}], actorAccountID: 14459901,…}
			actionName : "REPORTPREVIEW"
			actorAccountID : 14459901
			actorEmail<EMAIL_ADDRESS>			automatic : false
			avatar : "https://d1wpcgnaa73g0y.cloudfront.net/f427ffa485716562c8a975c8805a447b5684b740_128.jpeg"
			childCommenterCount : 1
			childLastActorAccountID : 8698376
			childLastReceiptTransactionIDs : "1204108464410787705"
			childLastVisibleActionCreated : "2024-03-14 21:38:55.951"
			childMoneyRequestCount : 1
			childOldestFourAccountIDs : "11665625"
			childRecentReceiptTransactionIDs : {1204108464410787705: "2024-03-14 21:37:29"}
<PHONE_NUMBER>410787705 : "2024-03-14 21:37:29"
			childReportID :<PHONE_NUMBER>563554
			childReportNotificationPreference : "hidden"
			childStateNum : 1
			childStatusNum : 1
			childType : "iou"
			childVisibleActionCount : 1
			created : "2024-03-14 21:37:29.911"
			lastModified : "2024-03-14 21:37:29.911"
			message : [,…]
				0 : {type: "COMMENT", html<EMAIL_ADDRESS>owes A$0.00", text<EMAIL_ADDRESS>owes A$0.00",…}
					deleted : ""
					html<EMAIL_ADDRESS>owes A$0.00"
					isDeletedParentAction : false
					isEdited : false
					reactions : []
					text<EMAIL_ADDRESS>owes A$0.00"
					type : "COMMENT"
					whisperedTo : []
				originalMessage : {lastModified: "2024-03-14 21:37:29.911", linkedReportID: "1783551381563554",…}
					lastModified : "2024-03-14 21:37:29.911"
					linkedReportID : "1783551381563554"
					originalActionAccountID : 14459901
				person : [{type: "TEXT", style: "strong", text: "CFO expensivepie.com"}]
					0 : {type: "TEXT", style: "strong", text: "CFO expensivepie.com"}
						style : "strong"
						text : "CFO expensivepie.com"
						type : "TEXT"
					previousReportActionID : "90093531819613915"
					reportActionID : "3459936395858833627"
					reportActionTimestamp :<PHONE_NUMBER>911
					shouldShow : true
					timestamp :<PHONE_NUMBER>
					whisperedToAccountIDs : []
	requestID : "872b3661fb7e63ec-LHR"

Second:
jsonCode : 200
onyxData : [{onyxMethod: "merge", key: "reportActions_8036391930866711", value: {,…}}]
	0 : {onyxMethod: "merge", key: "reportActions_8036391930866711", value: {,…}}
		key : "reportActions_8036391930866711"
		onyxMethod : "merge"
			value : {,…}
<PHONE_NUMBER>192955362 : {person: [{type: "TEXT", style: "strong", text: "Admin Pie User"}], actorAccountID: 8698376,…}
					actionName : "REPORTPREVIEW"
					actorAccountID : 8698376
					actorEmail<EMAIL_ADDRESS>					automatic : false
					avatar : "https://d1wpcgnaa73g0y.cloudfront.net/f7493165a790b796c92bd0337f8cf6b9bb74c669_128.jpeg"
					childLastActorAccountID : 8698376
					childMoneyRequestCount : 3
					childReportID :<PHONE_NUMBER>36357
					childReportNotificationPreference : "hidden"
					childType : "expense"
					created : "2024-03-16 13:30:42.420"
					lastModified : "2024-03-16 13:30:42.420"
					message : [{type: "COMMENT", html: "Xero owes $132.30", text: "Xero owes $132.30", isEdited: false,…}]
						0 : {type: "COMMENT", html: "Xero owes $132.30", text: "Xero owes $132.30", isEdited: false,…}
							deleted : ""
							html : "Xero owes $132.30"
							isDeletedParentAction : false
							isEdited : false
							reactions : []
							text : "Xero owes $132.30"
							type : "COMMENT"
							whisperedTo : []
						originalMessage : {lastModified: "2024-03-16 13:30:42.420", linkedReportID: "438513267536357"}
							lastModified : "2024-03-16 13:30:42.420"
							linkedReportID : "438513267536357"
						person : [{type: "TEXT", style: "strong", text: "Admin Pie User"}]
							0 : {type: "TEXT", style: "strong", text: "Admin Pie User"}
								style : "strong"
								text : "Admin Pie User"
								type : "TEXT"
						previousReportActionID : "5789708545474438065"
						reportActionID : "2397210080192955362"
						reportActionTimestamp :<PHONE_NUMBER>420
						shouldShow : true
						timestamp :<PHONE_NUMBER>
						whisperedToAccountIDs : []
	requestID : "872b3661fb7d63ec-LHR"

Maybe this is normal, maybe not?

Proposal
Please re-state the problem that we are trying to solve in this issue.
HIGH: [Needs Reproduction] [Reliability] Multiple calls to GetNewerActions on report open
What is the root cause of that problem?
When we navigate from A report to B the loadNewerChats will be called for both pages
What changes do you think we should make in order to solve the problem?
Add || !isFocused  to this condition. All
What alternative solutions did you explore? (Optional)

@shahinyan11 Thanks for the proposal. Your RCA is not complete. Can you explain why is the loadNewerChats function being called in the first place for the first report (report A)?
PS: I think that's a different bug than what's reported, I'm suspecting GetNewerActions is getting called for the same report multiple times, I didn't experience this much but got 3 total calls (one for the report A and two for report B)

Proposal
Updated. Added solution for two bugs.

@shahinyan11 Thanks for the update. The root cause is still not correct. The call sequence is as follow: loadNewerChats -> handleReportActionPagination -> fetchNewerAction and in fetchNewerAction we have an early return checking for isLoadingNewerReportActions
https://github.com/Expensify/App/blob/b59ae94dbbfac2d3b5da8df5c4dc6fbdb7785c6b/src/pages/home/report/ReportActionsView.tsx#L193-L197
Thus not checking for isLoadingNewerReportActions in loadNewerChats is not the culprit. On the other hand I'm seeing unguarded calls to getNewerActions in loadOlderChats which could be the culprit. Let's investigate more on that

@s77rt In our case the getNewerActions never called from loadOlderChats function.  My root cause may not be entirely correct, but you can test my solution and see if it fixes the error.

@shahinyan11 Let's focus on narrowing down the root cause first

@s77rt Ok I will work on it

@s77rt With the latest version, I can't reproduce the case where the same GetNewerActions request is sent multiple times. The only remaining case is when GetNewActions is called from a previous report.

@shahinyan11 Was not able to reproduce that bug either. And for the case where GetNewActions is called from the previous report, this is not reproducible all the time. The root cause for this one is still not clear
https://github.com/Expensify/App/assets/16493223/20561048-ffe0-4a1c-83af-1b5c0d27f6ee

@s77rt  The GetNewActions request will not be called for the previous report if there are more than 23 reportActions in it.  Here we prevent action if the isLoadingOlderReportsFirstNeeded is true

@shahinyan11 loadNewerChats shouldn't be called in the first place. Re-rendering ReportActionsList on its own is not the culprit
https://github.com/Expensify/App/assets/16493223/d402fbf9-ecf9-401e-8096-c654395db780

So I'm a bit confused, where does this stand?  What are the next steps, and who is doing them?

This is following the normal BugZero process, no changes to that. We're not yet understanding the root cause and @s77rt and @shahinyan11 are discussing it. It remains open to other External proposals.

@s77rt onStartReached will be called for the previous report even if I manually prevent the MVCPFlatList component from re-rendering. I think it comes from the react-native-web package because I noticed onStartReached in the patch files  and I also  tested it on Native platforms and onStartReached is not called for the previous report after navigating to the new one

@shahinyan11 Can you elaborate on this? Is the bug caused by the react-native-web patch?

@shahinyan11 Can you elaborate on this? Is the bug caused by the react-native-web patch?

Yes, this is the result of my research about calling loadNewerChats.

@shahinyan11 Did you explore any possible solutions here?
(also try revert the patch to be sure it's the culprit)

For opening a single report, why do I need to do all of these actions. Two OpenReport, two GetNewerActions, two SendPerformanceTiming. I guess most of it could be resolved by removing the second GetNewerActions call here, but I was surprised to see us call OpenReport again as well, and I've got to imagine they're linked.

(also try revert the patch to be sure it's the culprit)

I won't say it's because of the patch. Аrom the patch file I just realized that the package handles onStartReached.
Tried deleting the patch file, but the behavior did not change.

@shahinyan11 Please update your proposal and tag me once you get a clear understanding on the root cause.
PS: Keep in mind that we probably still have 2 bugs here, the GetNewerActions calls on same report (seems hard to reproduce) and the GetNewerActions call on the previous report

@twisterdotcom @s77rt Would you mind increase the compensation here as this is not an easy subject and takes a lot of time to learn RCA.

Sure, we can make this $500, it's reliability. As long as we get to the root cause.

Hi all, anybody able to take this on?  It's an important one!

Also discussed internally here: https://expensify.slack.com/archives/C01SKUP7QR0/p1713818410907859
Still would love to get some external proposals. @shahinyan11 any more thoughts here?

@twisterdotcom If onStartReached should not be called on blur screen then it is a bug from react-native-web but currently I do not have any idea how to fix that in package. But if it is expected behavior then I already proposed solution

@s77rt what do you think? It's kind of over my head I'm afraid.

Reminder: We have two bugs:

On opening a report we make multiple calls to GetNewerActions (onStartReached)
On unmounting a report we make an extra call to GetNewerActions (onStartReached)

I tried to isolate the problem by creating a snack https://snack.expo.dev/IDlFHIFq6DZP2MIDaqs-T and I can tell that the first problem is in react-native and the second is from our side.
Results:

Native

On first render: onStartReached is called multiple times 🐛
On unmount: onStartReached is not called ✅

Web:

On first render: onStartReached is called multiple times 🐛
On unmount: onStartReached is not called ✅

Regarding the first bug, upon further testing I concluded that onStartReached will be called upto n times where n = Math.ceil(data.length / initialNumToRender). The more report actions in a chat the more the buggy behaviour is experienced.
https://github.com/Expensify/App/assets/16493223/2387505c-13cb-4ddd-a2d8-92b515b11489

From ^ We have to fix the first bug at react-native level and second bug at /App level.

@s77rt Thanks for providing useful information. But we make an extra call to GetNewerActions (onStartReached) not when unmounting, but when the screen is blurred. And this behavior only happens on Web
I also created a snack (https://snack.expo.dev/@shahinyan11/flatlist-simple?platform=web with navigation. And you can see that the second problem also is not from our side.
https://github.com/Expensify/App/assets/46921547/708b59b8-e877-4f9b-af6f-4aa85f66eb29

@shahinyan11 You are right thanks for checking that! Both bugs are upstream

Bugs summary:

RN (+RNW): On mount onStartReached is called multiple times, should be called once (or none?)
RNW: On focus/blur onStartReached is called once, should not be called

Wow, amazing work here both. Okay, so which repos do we need fixes in? Just react-native-web? We typically pay higher bounties for upstream fixes and I'm willing to commit to that here.

@shahinyan11 Upstream bugs require upstream PRs. Handling any /App would have to be a workaround

I'm open to a workaround for now if @s77rt agrees it's not going to be too detrimental, as upstream PRs often take ages to merge and this is something we think might be causing a fair few issues.

Finding the root cause on RNW may be easier. We can start by checking the number of calls to _maybeCallOnEdgeReached and find in which case it's called more often i.e. on blur which function calls this one.

@twisterdotcom For the RNW bug (the one extra call) the workaround is pretty straightforward which is to ignore onStartReached callbacks if the screen is not focused. For the RN bug (the many extra calls) no clear workaround yet

@janicduplessis who commented in Slack, would love to get you involved here. I'm leaning towards maybe just having @shahinyan11 handle the RNW workaround, and then assigning you to a separate issue to handle these in RN and RNW natively - does that sound alright?

@twisterdotcom Sounds good, I can handle the RN part, I am pretty familiar with that code.

@shahinyan11 Can you please update your proposal to fix the RNW bug (should fix both extra calls on focus and on blur)

@s77rt would you mind using throttling to fix extra calls on focus ?

What do you think about merging something like this so when not using comment linking we just never try to fetch newer messages as there will never be any. I think this can be a good improvement to this for now until we can have a better integration with the backend as discussed here.
https://github.com/Expensify/App/pull/41053

I also think I found a good solution to help avoid invalid calls to onStartReached in react-native so that will help for the case where we are actually using comment linking and GetNewerActions should get called, but only once.

@s77rt Can you help reproduce multiple call during focus?

Proposal
Updated. Added solution which will fix two bugs.

@s77rt can we assign @shahinyan11?

@shahinyan11 I’m pretty sure comment linking relies on the fact that onStartReached is called initially. Would you be able to test this to make sure your solution doesn’t break this?
I think it could be an ok temporary solution, but we should still implement other improvements mentioned here.

@shahinyan11 I’m pretty sure comment linking relies on the fact that onStartReached is called initially. Would you be able to test this to make sure your solution doesn’t break this?

I just added a new alternative solution. But can you explain what you mean by comment linking? . Could you describe an example

Proposal
Updated. Added alternative solution

@shahinyan11 If you take a chat with many messages you can right click on a message in the middle and Copy Link. Then in another chat you can link to that message. This will use GetNewerActions and onStartReached to load the newer messages so we have to make sure this still works properly.

@janicduplessis Yes you are correct. My main solution will break it so I updated it to allow onStartReached  to be called once

@shahinyan11 On focus the callback is still executed https://snack.expo.dev/aZqOHa5m9m1AoGHGqAhoN?platform=web Also why you are adding e.distanceFromStart === 0 check?

@s77rt It is necessary that the callback be executed once during focus. See this https://github.com/Expensify/App/issues/39674#issuecomment-2079352605 .
distanceFromStart returns the scroll distance that was scrolled before reaching the start and it always 0 on init

What's the next step and ETA on this?

I think there are a few things we can do to improve this. This issue has 2 main causes:

onStartReached is called more than it should. Ideally this would be fixed upstream.
We do not have a good way to know if calling GetNewerActions is needed. Ideally this would be returned by the API when opening the report so even if `onStartReached is called we don't fetch new reports.

For 1. I am working on a PR and have a draft implementation, working on testing it more and then it will need to be reviewed by meta engineers.
For 2. I discussed this with @roryabraham and he will tackle this task when he can, I will create an issue to track this.
In the meantime I suggest merging some sort of workaround as proposed here. I think the simplest and safest option would be to just never call GetNewerActions when we are not in a comment linking report as implemented here.

@shahinyan11

It is necessary that the callback be executed once during focus

Let's limit that only for comment linking. In other cases calling GetNewerActions on focus is redundant

distanceFromStart returns the scroll distance that was scrolled before reaching the start and it always 0 on init

This didn't answer my question. I meant what's the purpose of this condition or what would go wrong if we don't add it

@janicduplessis Let's go with the RN patch + disabling GetNewerActions for non-comment-linked reports

Current situation:

Bug
RCA
Fixed in Regular reports?
Fixed in Comment-Linked reports?

GetNewerActions called multiple times on rendering report
Bug in RN
No 🐛
No 🐛

GetNewerActions called 1 time on focusing/blurring report
Bug in RNW
No 🐛
No 🐛

After @janicduplessis's solution:

Bug
RCA
Fixed in Regular reports?
Fixed in Comment-Linked reports?

GetNewerActions called multiple times on rendering report
Bug in RN
Yes ✅
Yes ✅

GetNewerActions called 1 time on focusing/blurring report
Bug in RNW
Yes ✅
No 🐛

For the remaining unresolved case, it requires a react-native-web upstream PR. From /App side the safest we can do is to prevent the call on blurring the report (partly fixing the issue, the call would still occur on focusing the report)

@janicduplessis Can you please raise a PR for both the patch and the suggested solution?

First PR is up, will do the patch one later today or tomorrow!

🎀 👀 🎀

This didn't answer my question. I meant what's the purpose of this condition or what would go wrong if we don't add it

@s77rt if distanceFromStart is 0 this means that cllback is called without the user scrolling ( i.e. on rendering ). if we don't add to the callback will only be called the first time on user scroll.

Now what should I do next?

I have https://github.com/facebook/react-native/pull/44287 ready, need to be reviewed by meta engineers. We could make a patch for it to use it now.

Thanks for the upstream PR @janicduplessis - feel free to open a PR with the patch.

Yes, planning to do that today!

@s77rt @roryabraham Here's the PR for the patch https://github.com/Expensify/App/pull/41189

Looks like the RN patch also fixed the RNW bug 🎉

I think we are good for this issue. Yes please pay out @shahinyan11 also for his help and work on this.

@janicduplessis @janicduplessis Thank you for appreciating my work

Payment Summary (to be paid after 7 days):

@shahinyan11 paid $250 here
@s77rt paid $500 here
@janicduplessis does not require payment.

Can we close this? i think the next steps will be handled in https://github.com/Expensify/App/issues/41153

@twisterdotcom did you get a chance to issue the payments you had summarized in this comment?

Yes, we can close.


Configure embedding per Window instead of per Viewport

Closes https://github.com/godotengine/godot-proposals/issues/4741
Window
If window should be embedded.

bool embedded

If the window is embedded will be true

bool is_current_embedded()

Viewport
all sub windows will be embedded

bool gui_embed_subwindows

I only tested on X11

Thanks for opening a pull request :slightly_smiling_face:
Feature pull requests should be associated to a feature proposal to justify the need for implementing the feature in Godot core. Please open a proposal on the Godot proposals repository (and link to this pull request in the proposal's body).

This is quite complex and the use case is not clear, please open a proposal so this feature can be discussed.

This is quite complex and the use case is not clear, please open a proposal so this feature can be discussed.

A proposal was opened at https://github.com/godotengine/godot-proposals/issues/4741.

Pull requests need to be squashed before they are merged.

We would also require a workflow approval? 🤔

I'll approve once changes are applied, no reason to run twice 🙂

This needs to be rebased and retested.
Since I'd like to move this forward, please let me know if you have the time to work on it. If not, I can take it over and add you as a co-author.

I will try to rebase and test, now.

Hmm, I guess parts of this PR can be salvaged in order to implement a force_embedded flag (which would be consistent with  force_native). This would be very helpful for certain editor popups/dialogs to feel snappier.

After taking a look at the code I'd suggest closing this PR since the force_native flag superseded the functionality here. Implementing a force_embedded flag should be done in a new PR.


✏ Update highlighted line in docs/en/docs/tutorial/bigger-applications.md

@papb If I am reading the tutorial correctly, the existing doco incorrectly highlights row 4.
I think instead of this change (which highlights lines 4 & 5), I think it should be changed to highlight row 5.

@Ryandaydev Thank you, you're right. After re-reading I decided to also change another block to highlight one extra line, can you take a look?

Good catch. Thanks @papb 🙂
And thanks for the review @iudeen and @Ryandaydev ✌


Duplicated Logs in Game Review

On the game review pages (as opposed to the "archive/replay" pages), the game logs show multiple copies of each move from each player's perspective.
For example, see https://boardgamearena.com/gamereview?table=318026229
Move 213 :5:34:23 PM
You draw and meld 8 Rocketry.
You achieve Empire.
You return 7 Periodic Table from your display.
Sharing bonus.
You draw 8 Quantum theory.
MadisonSilver draws and melds 8 Rocketry.
MadisonSilver achieves Empire.
MadisonSilver returns 7 Periodic Table from his display.
Sharing bonus.
MadisonSilver draws a 8.

(This may be an issue on BGA's side, however it may be worth investigating anyway.)

That's just a quick of BGA! Nothing can be done there.


Check out next-routes - Universal named routes for next.js

Hello guys!
I just published next-routes to npm and hopefully it can be useful for others. It let's you define named routes for a next.js project in an express-style syntax and provides a server middleware and wrapped Link and Router to generate the URLs:
// Define routes like
routes.add('blog', '/blog/:slug')

// Use Link
<Link route="blog" params={{slug: 'hello-world'}}> ... </Link>

// Use Router
Router.pushRoute('blog', {slug: 'hello-world'})

Check out the README for full details.
This is my first npm package, I appreciate any feedback, reviews and suggestions!

This is a pretty nice project.
Good job.

Thank you!

This is cool! 👍 💯

This looks great! thank you.

This is great. It seems to be an Awesome nextjs repo for this to be included. I'll close this issue but thanks for sharing :)


Proofread CONTRIBUTING file with appropriate edits

Made necessary typo, grammatical, punctuation fixes at several places in the CONTRIBUTING.md file.

[x] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[x] Each commit in the pull request should have a meaningful subject line and body.
[x] If you're unsure, you can format the pull request title like [CAMEL-XXX] Fixes bug in camel-file component, where you replace CAMEL-XXX with the appropriate JIRA issue.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Run mvn clean install -Psourcecheck in your module with source check enabled to make sure basic checks pass and there are no checkstyle violations. A more thorough check will be performed on your pull request automatically.
Below are the contribution guidelines:
https://github.com/apache/camel/blob/master/CONTRIBUTING.md

Wow, quite impressed by the merge-speed. It's like literally, I went to get my coffee, and voila my changes have been merged. Thanks for the speed! Fyi, I have one more edit, which I am currently working on, coming in less than 30 mins.

Thanks


Speculative sampling and Llmoe?

I heard about a new feature coming to Llama, where a method is used to speed up a model's inference.  The benefit ranges, around 2x the speed, but probably closer to 1.5x.  How it works is that a big model like 34b, uses a smaller draft model like 7b to sample input.  The Github thread has video showing the performance benefits of the method.
My thoughts immediately jumped to Airoboros's Llmoe.  Would it be possible to integrate a "Inference" Llmoe into vanilla Airoboros to benefit from speculative sampling?
speculative : PoC for speeding-up inference via speculative sampling

I've ben looking that that very closely, it's a great idea!  Perhaps fine-tuning the new 1.1b or something would be a start.

One of the people posting in the Llama Github mentioned that chaining draft models might have potential.   Something like a 3b->7b->13b->34b->70b.   My gut says that much like b-parameters, there would probably be a sweet spot in draft numbers and their size.


demos: GH692 Added a supporting of wayland wsi

Added a supporting of wayland wsi to cube, tri and smoke.
Signed-off-by: Mun Gwan-gyeong<EMAIL_ADDRESS>

 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.

Dustin, can you check out the CMake parts, and Tony, can you run through the demo stuff?

Dear dustin, I have tested it with  weston ( reference  wayland compositor) and latest mesa driver on latest arch linux.

+1 Looks good to me

Look good to me too

I cherry picked this to my local master and pushed to GitHub.


Error: You may need an appropriate loader to handle this file type for shared content

I´m working with 2 CRA projects. A shared library of components, and the final application myapp. To build this use case I´ve just built a simple shared component:
import React, { Component } from "react";

class SharedComponent extends Component {
  render = () => {
    return
This is a shared component
;
  };
}

export default SharedComponent;

And on myapp project, I do import and use it:
import React, { Component } from 'react';

import SharedComponent from "shared/src/components/SharedComponent/SharedComponent";

class App extends Component {
  render() {
    return (

Will load shared component...

          <SharedComponent/>

    );
  }
}

export default App;

To use shared inside myapp, I´ve installed shared at myapp  folder as:
$ npm install --save ../shared
Doing that I´ve found that node generated a shared symlink inside node_modules folder.
When running myapp I got this error:
$ npm start
../shared/src/components/SharedComponent/SharedComponent.js
Module parse failed: Unexpected token (4:9)
You may need an appropriate loader to handle this file type.
|
| class SharedComponent extends Component {
|   render = () => {
|     return
This is a shared component
;
|   };

This problem is making me crazy. Seens that is something related to symlinks, but I don´t know how to solve. Please advice.
Sampe code:
usecase.zip

It seems link you're right about it being an issue with the symlink:
https://github.com/babel/babel-loader/issues/377

Thanks @sowhatdoido for the useful links.
In fact, I've browsed aroung for tons of posts about symlink problems with CRA, babel and webpack and tried very different things (ejecting, npm link , npm install, creating symlink inside source) and all of them was uneffective (I´m been working around this for some days).
What I need from this issue post is to be straight. I have a very simple case within the posted code. A shared component and another component that will share it. I´m using the latest CRA.
What is the solution to solve the symlink:
a) Should I need to eject and change something in the generated script? If so, where/what would be that change?
b) If I does not need to eject, how am I able to solve that?
And lastly:
c) Are there plans to fix that ?
Due to the time I´m missing with this and my tight targets, I do appreciate very much any kind of help.

I'm glad you found a solution!
Just for future reference, this issue only occurs when you're trying to create a local file dependency for parallel development in a pre-published phase for both projects. If you can push the shared project to NPM, whether privately or publicly, you can npm install your package and use it without any issues.
One way I would have tackled this problem personally is I would have published shared under a development branch and included it in myapp since I'd assume you don't need to make edits to both apps at the same exact time. If you did you did to make edits at the same time, I would have developed it under the same exact repo for the initial development, then abstracted the code out into shared and myapp at a later point.

@sowhatdoido This is one approach I´m aware of (publising shared to npm and them installing on newapp). I sill prefer the lerna approach for a monorepo. You can better edit, build, test and git handle modules independently or in a bunch.
Thanks for the comment

I happened on this error with Lerna (using yarn workspaces) when using Babel in multiple packages. I resolved it by adding babel-loader to the nohoist-array in the main package.json.
my-monorepo/lerna.json:
{   "npmClient": "yarn",   "packages": [     "packages/*"   ],   "useWorkspaces": true,   "version": "0.0.0" }
my-monorepo/package.json:
{   "name": "my-monorepo-lerna",   "private": true,   "devDependencies": {     "lerna": "^3.4.3"   },   "workspaces": {     "packages": [       "packages/*"     ],     "nohoist": [       "**/babel-loader"     ]   },   "engines": {     "yarn": ">1.4.2"   },   "scripts": {     "electronbuild": "lerna run electronbuild --stream",     "electrondev": "lerna run electrondev --parallel --stream --bail",     "webdev": "lerna run webdev --parallel --stream"   } }


Permission

Hey DropSonic0 :)
Nice work with Mario Boom! I've been enjoying it.
I want to ask if I can add your flash games to my repo. I've been delaying adding more games for years XD. Can I add yours?

Hey DropSonic0 :)
Nice work with Mario Boom! I've been enjoying it.
I want to ask if I can add your flash games to my repo. I've been delaying adding more games for years XD. Can I add yours?

of course no problem

Thank you :)


URL in description and README broken

The URL in the repository description and README are pointing to githubschool's copy of the game instead of yours.
Please fix both so they point to your copy of the game at https://githubschool.github.io/github-games-stf-peter/

Fixed it ...


Python JSON File error

Issue Type: Bug

Create a simple python program that requires input from a JSON file to operate
Create the JSON file itself (Although this specific project automatically created it if it didn't exist.)
After populating the JSON file with a function in the python program
Move these files to a new folder (either within the sandbox you were coding or another place entirely, but still visible in VS Code.)
Run the program again and you'd get a FileNotFound error.
Move them back to their prevous folder (together) and it starts working normally.
Move them back to the new folder and they stop; but running the program with a Terminal yields positive results in both scenarios.

I hope this gets fixed! -- It cost me 2 Nights and a back pain.
VS Code version: Code 1.43.1 (fe22a9645b44368865c0ba92e2fb881ff1afce94, 2020-03-18T07:17:38.324Z)
OS version: Linux x64 5.3.0-28-generic

System Info

Item
Value

CPUs
Intel(R) Pentium(R) CPU  N3540  @ 2.16GHz (4 x 2235)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: disabled_softwareskia_renderer: disabled_off_okvideo_decode: unavailable_offviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
2, 1, 1

Memory (System)
7.66GB (3.07GB free)

Process Argv
--no-sandbox --unity-launch

Screen Reader
no

VM
0%

Extensions (4)

Extension
Author (truncated)
Version

python
ms-
2020.3.69010

cpptools
ms-
0.27.0-insiders4

vsliveshare
ms-
1.0.1847

vsliveshare-pack
ms-
0.3.4

/extPython


Keras models have a memory leak when used in a loop

I was having a creeping memory issue calling DeepFace.represent(...) in my training loop with Facenet512.  System memory was increasing by just a few MB per batch, but after a few hundred iterations my model's training would slow exponentially.  I narrowed it down to the model.predict call and found that it was using a Keras backend.  Replacing the model.predict(img) call with model(img) stopped the leak but was slow.  I am on tensorflow 2.11.0 and Keras 2.11.0, which I believe are currently the default versions when installing this package with pip.
I found this post (https://github.com/keras-team/keras/issues/13118) and followed some of the solutions.  I placed the following code at the top of my train code:
import keras.backend as K
cfg = K.tf.compat.v1.ConfigProto()
cfg.gpu_options.allow_growth = True
K.set_session(K.tf.compat.v1.Session(config=cfg))

and periodically (every 1024 iterations) will call
K.clear_session()

This fixed my problem.
@serengil I don't know if it would make sense to put the solution I came up with into the package because calling keras.backend could affect peoples' code if they are using their own Keras models.  But when looking at old issues to try to find the problem I was facing, I saw that a few people have brought up issues running deepface in a loop before.  I think that this is the cause.

Good workaround. But IMO this should be called in client side not in the library. Closing this issue. Hope this helps people having same problem.

or i can check how many times represent function called in the current session, and apply this if it is greater than a threshold value.

same here, I try to test with really simple code:
import torch
from tqdm import tqdm
from deepface import DeepFace
Model
img = '6.jpg'  # or file, PIL, OpenCV, numpy, multiple
import tensorflow.keras.backend as K
Inference
for i in tqdm(range(1000)):
K.clear_session()
objs = DeepFace.analyze(img_path = img,
actions = ['age', 'gender', 'race'],detector_backend ='dlib'
)
print(objs)
import gc
gc.collect()
And the memory leak is there until OOM. can you help me solve this issue?

I encountered the same memory problem when iteratively calling analyze(). I checked the post mentioned by @ethanrwilson1998 and they mentioned that substituting the predict() with predict_on_batch() would perfectly solve this issue:

If you have GPU: just use predict_on_batch() and batch your predictions (a.k.a. put all the images you need the prediction for in one set). NO LOOP NEEDED
On other systems: Using predict_on_batch() could be dangerous in terms of memory available, therefore do the same procedure as above with predict while specifying the batch_size
N.B.: predict() is not intended to be used in a loop, the only exception to this rule could be that the image you will predict is dependent from earlier results.

I guess this solution could be applied to the relevant functions of this library to resolve the memory leak issue happened in loops.

I also had a memory leak when I called this analyze() interface in batch using flask Api, this may not be batch processing multiple images, but batch processing one image at a time, I think the memory overflow problem of the loop still needs to locate the cause

Hi,
I do not know this repository but agree on @qcbegin answer. For example, from line 672, the for loop should be replaced by a map call and the results should be stored within an array before executing the inferences.
In this case:
    for img, region, confidence in img_objs:
        # custom normalization
        img = functions.normalize_input(img=img, normalization=normalization)

        # represent
        if "keras" in str(type(model)):
            # new tf versions show progress bar and it is annoying
            embedding = model.predict(img, verbose=0)[0].tolist()

could be replaced roughly by:
nomalization = lambda image: (functions.normalize_input(img=image, normalization=normalization))
images = map(nomalization, img_objs[:,0])
if "keras" in str(type(model)):
    embeddings = model.predict_on_batch(images)

Would you please test this PR for your large scale datasets?

closed after PR - https://github.com/serengil/deepface/pull/857


Potential data loss after changing the number of TiFlash replicas

Bug Report
Please answer these questions before submitting your issue. Thanks!
1. Minimal reproduce step (Required)

Create a table with tiflash replica and load some data
Alter tiflash replica to 0
Wait gc_lifetime and set tiflash replica to 1

2. What did you expect to see? (Required)
The TiFlash replica is built correctly
3. What did you see instead (Required)
There is a chance that data loss happened after step 3
4. What is your TiFlash version? (Required)
v8.1.1

In v8.1.0 and v8.1.1, if the tiflash replica num is set to 0, applyDropTable(database_id, table_id, "SetTiFlashReplica-0") will be executed and add a tombstone_ts to the IStorage instance.
https://github.com/pingcap/tiflash/blob/v8.1.1/dbms/src/TiDB/Schema/SchemaBuilder.cpp#L392-L407
If all the regions are removed from the tiflash instance, and the tombstone_ts exceeds the gc_safepoint, then we will generate a InterpreterDropQuery to physically drop the IStorage instance.
https://github.com/pingcap/tiflash/blob/v8.1.1/dbms/src/TiDB/Schema/SchemaSyncService.cpp#L304-L354
However, there could be a chance that data loss due to a concurrent issue:

In SchemaSyncService::gcImpl, a table is judge as both "tombstone_ts exceed the gc_safepoint" and "no region peer exists". So InterpreterDropQuery is generated
User set tiflash replica to be K where K > 0, and new region snapshot is applied to tiflash before InterpreterDropQuery get executed.
InterpreterDropQuery get executed, and all the data in the StorageDeltaMerge get physically removed. But the region is still exist in the raft-layer. And the query result after that will meet data loss.

For LTS, only v8.1.0 and v8.1.1 are affected.
release-7.5 is not affected because we comment out the "drop table" action when alter tiflash replica to 0
https://github.com/pingcap/tiflash/blob/release-7.5/dbms/src/TiDB/Schema/SchemaBuilder.cpp#L391-L408
Older versions are also not affected because there is no such mechanism.


Feature: GUI scripting

Implement a scripting language to create/modify/control the GUI (probably Lua)

as a first step: added lua as scripting language d03f1aa40b94631a31d80e029e560ab0c8eb6a12


Postgresql Integrations

I use "Npgsql.EntityFrameworkCore.PostgreSQL" with EF Core in the project. Does your library support PostgreSQL? If not, do you have a plan to do this later?

Thanks for information.

Looks like a great library! I am also not using SQL Server, though. I'd recommend making the db provider support more prominent on the README, as it is not immediately obvious to potential users that it only supports SQL Server.

It is stated at the end of first paragraph:

Under the hood uses SqlBulkCopy for Insert, for Update/Delete combines BulkInsert with raw Sql MERGE (MsSQL 2008+).

Still no news about support PostgreSQL?

Not yet.
Have managed to extend it for SQLite recently.
PostgreSql maybe sometimes during next year.

As workaround you can use linq2db BulkCopy functionality through EF.Core adapter
https://github.com/linq2db/linq2db/wiki/Bulk-Copy#postgresql-provider-specific-bulk-copy

EFCore.BuildExtension is a great library, unfortunately it doesn't support Postgres. You can use 'FlexLabs.Upsert' nuget as alternative for Postgres

Is this still in the roadmap? Anything I could do to help? I'm not an expert but I sure could give you a hand.

Yes but still no timeframe.
There is one PR a few days ago in this direction: https://github.com/borisdj/EFCore.BulkExtensions/pull/434
Here are some links (Docs) that I've found when did the research:
https://www.npgsql.org/doc/copy.html
https://www.postgresql.org/docs/9.2/static/sql-copy.html
https://github.com/npgsql/Npgsql.EntityFrameworkCore.PostgreSQL/issues/113
__
https://www.bytefish.de/blog/postgresql_bulk_insert/
https://dba.stackexchange.com/questions/41059/optimizing-bulk-update-performance-in-postgresql
http://thebuild.com/blog/2016/01/14/doing-a-bulk-merge-in-postgresql-9-5/
https://www.alibabacloud.com/blog/how-does-postgresql-implement-batch-update-deletion-and-insertion_596030
https://stackoverflow.com/questions/30320418/insert-the-whole-value-of-datatable-bulk-into-postgresql-table
https://stackoverflow.com/questions/758945/whats-the-fastest-way-to-do-a-bulk-insert-into-postgres
https://stackoverflow.com/questions/5940225/fastest-way-of-inserting-in-entity-framework
https://stackoverflow.com/questions/43531602/bulk-update-in-entity-framework-core/43531693

Sí, pero aún sin plazo.
Hace unos días hay un RP en esta dirección: # 434
Aquí hay algunos enlaces (Documentos) que encontré cuando hice la investigación:
https://www.npgsql.org/doc/copy.html
https://www.postgresql.org/docs/9.2/static/sql-copy.html
npgsql / efcore.pg # 113
__
https: // www. bytefish.de/blog/postgresql_bulk_insert/
https://dba.stackexchange.com/questions/41059/optimizing-bulk-update-performance-in-postgresql
http://thebuild.com/blog/2016/01/14/doing -una-fusión-masiva-en-postgresql-9-5 /
https://www.alibabacloud.com/blog/how-does-postgresql-implement-batch-update-deletion-and-insertion_596030
https://stackoverflow.com/questions/30320418/insert-the-whole-value-of-datatable-bulk-into-postgresql-table
https://stackoverflow.com/questions/758945/whats-the-fastest-way -to-do-a-bulk-insert-into-postgres
https://stackoverflow.com/questions/5940225/fastest-way-of-inserting-in-entity-framework
https://stackoverflow.com/questions/43531602 / actualización-masiva-en-entidad-framework-core / 43531693

I want help. How?

I started some work on this, made so far shell of methods and prof of concept for basic Insert.
Once I commit it, then next phase would be implementing each method.

WE ALL ARE WAITING FOR POSTGRESQL SUPPORT :)

+1

This would be very nice to have, just switched to Postgres and was quite surprised when the queries stopped working :/

I started some work on this, made so far shell of methods and prof of concept for basic Insert. Once I commit it, then next phase would be implementing each method.

Can u push that branch into repo? We will be happy to help with the implementation, if possible.

PostgreSql adapter added with with v6.0.4
Currently supported methods: Insert and Upsert.
Still initial faze so complex cases might give exceptions.

PostgreSql now fully supported, all Bulk and Batch ops, v6.0.5

Hi!
sorry if I'm writing to the wrong thread
i faced the following problems while working PostgreSql:
when using json columns (in my case it's List property) i have got error:
The CLR type Ocs.API.Infrastructure.ResponseData.CatalogPathData isn't natively supported by Npgsql or your PostgreSQL.
To use it with a PostgreSQL composite you need to specify DataTypeName or to map it, please refer to the documentation

and i have problems with enums:

    public enum ConditionType : byte
    {
        Regular,
        Sale,
        Unconditional
    }

    public ConditionType Condition { get; set; }

error:
A PostgreSQL type with the name condition_type was not found in the database

P.S. i'm using EFCore.NamingConventions package and EFCore 6
thank you in advance!

Hi,
I'm facing the same issue as @dimkadv2 with enum types.
It seems @Hoffs solution did not change anything for my situation.
Do you have any suggestions for me?

Enums should be fixed with v6.1.8

How invasive is it to backport this to support EFCore 3.1? We are running on .NET Framework which is only supported by EFCore 3.1.


ENYO-4091: support symlink field in 'files'

                  {
                      "id": "bootplate-moonstone",
                      "type": "template",
                      "version": "0.2.3",
                      "isDefault": true,
                      "description": "Enyo moonstone app",
                      "class": "moonstone",
                      "deps": ["enyoappinfo", "enyoicon"],
                      "files": [{
                          "url": "@PLUGINDIR@/templates/app-moonstone",
                          "symlink": {
                              "enyo": "@PLUGINDIR@/templates/bootplate-moonstone/enyo",
                              "lib": "@PLUGINDIR@/templates/bootplate-moonstone/lib"
                          }
                      }]
                  }

symlink intends to make symbolic links for local directories or files

Enyo-DCO-1.1-Signed-off-by Junil Kim<EMAIL_ADDRESS>

@sparkleholic  - what needs to happen next on this PR? Thanks.

@sparkleholic  - the jira this is attached to is closed. Should this PR be closed also? Thanks.

closing out as the jira associated with this is closed.


Not an issue !!

Hi, I am a computer programmer, wanted a decent RGB Driver for my mini project.
Since, I am not at all experienced in this field, can you help me in creating this ?
I understood the circuit diagram, but how do i upload the files to the board ?
Thanks in Advance!

Hi, I can help you get started with it, but few points I need to address first:

The board itself is made using surface mounted components, which can be tricky without the correct accessories
The programming is done via SWD, which is a standard from ARM. For that purpose, there is a connector on the board to program the MCU after fabrication, but you need to have the debugger to do so
There are 3 main technologies for controlling RGB LED strips:

Separate R, G, B lines, requiring PWM modulation [Not supported by this]
Pulses over single wire, used by the WS281* LEDs, aka NeoPixel [Supported by hardware, but not coded yet]
Data transmission over two wires (clock and data), used by the APA102C LEDs, aka DotStar [Supported by hardware and firmware]

So, I guess I would need to do the following

Search for a shop which could make me the board itself or find the proper accessories.


not able to install the dependencies on windows cmd through pip3 install . ?

Getting error - (venv) F:\spevktator\spevktator>pip3 install .
ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.
Please help how to install the dependencies on windows ?
@MischaU8

Yup.
But getting another error , how to get rid of this -
(tutorial-env) F:\tutorial-env\Scripts\spevktator>spevktator fetch data/new.db life
Scraping VK domain 'life'... https://m.vk.com/life
HTTP Exception for https://m.vk.com/life - [WinError 10054] An existing connection was forcibly closed by the remote host
Scraping VK domain 'life'... https://m.vk.com/life
HTTP Exception for https://m.vk.com/life - [WinError 10054] An existing connection was forcibly closed by the remote host
Please help . @MischaU8

Also not getting data , please check if something needs to be changed -
(vk-data) F:\vk-data\Scripts\spevktator>spevktator fetch data/vk.db vkusnoitochka
Scraping VK domain 'vkusnoitochka'... https://m.vk.com/vkusnoitochka
2023-05-29 11:24:36.231756 posts_added=0 last_post_added=False earliest_post_date=None page: 1 / 5
Nothing added, done with vkusnoitochka
(vk-data) F:\vk-data\Scripts\spevktator>spevktator backfill -u 16-05-2023 data/vk.db life
Scraping max 5 pages of posts for life, starting at 0, until date 2023-05-16T00:00:00
Scraping VK domain 'life'... https://m.vk.com/life
2023-05-29 11:39:40.194880 posts_added=0 last_post_added=False earliest_post_date=None page: 1 / 5
Nothing added, done with life
(vk-data) F:\vk-data\Scripts\spevktator>spevktator fetch -l 10 data/vk.db life
Scraping VK domain 'life'... https://m.vk.com/life
2023-05-29 11:40:44.974572 posts_added=0 last_post_added=False earliest_post_date=None page: 1 / 10
Nothing added, done with life
@MischaU8

Any suggestions , Please help on above isssues.
@MischaU8

Duplicate of #2


Link to Dynamic Simulations should work from /file w no behavioral assumptions

Here is an example of a /file reform with no behavioral assumptions, only reform parameters.
https://www.ospc.org/taxbrain/11037/
However, the link to dynamic simulations is blocked anyways:

@MattHJensen , looking at https://github.com/OpenSourcePolicyCenter/webapp-public/issues/535, it looks like a feature. There is code in deploy and in webapp that makes sure no simulation can be run off of file-based reforms. This was changed to solve https://github.com/OpenSourcePolicyCenter/webapp-public/issues/431. Do we want to walk back these changes and allow simulations on file-based reforms?

We do not want to allow dynamic simulations for file based reforms where an assumptions file is present. We should allow dynamic simulations for file based reforms where no assumption file is present.

Closed via #669


Feature/compare all targets search params

This PR saves the document selection in the URL as a targets param on Compare all targets  and  Custom compare pages. Navigation through Go to compare all targets button passes the targets params to the Compare all targets page. It also removes the Custom compare option from the Commitments menu.
PIVOTAL

I hope that this solution is not overcomplicated, let me know what do you think ;)

@Bluesmile82 ready for reviewing!

Hey @Bluesmile82, ready again!

Great! I can see now that we have the case of Lybia without documents. Works perfectly!


Suggetion: Move vendored libs to own dir

Having a structure such as:
vendor/re
vendor/cmdliner

Would make this repo a little easier to work with. For example, it will grep a lot more useful.
I realize that this might complicate the bootstrapping but perhaps it's worth it.

That seems reasonable to me. It should be straightforward to adapt the bootstrap; we compile everything at once so we just need to update the paths. BTW note that there is already an overlay for ocaml-re in the bootstrap. Since it's not used to build jbuilder itself, it's replaced by a dummy implementation to speed things up. I suppose we could do something similar for Cmdliner, i.e. just remove Main and Cmdliner from the list of modules to include and replace them by a small piece of code that request the build of jbuilder.install

done


Error during setup of component smartthinq

I'm not able to get the smartthinq custom component to load properly. I followed the directions in the readme file, but keep getting this error when I restart Home Assistant:

Error during setup of component smartthinq
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 176, in _async_setup_component
component.setup, hass, processed_config  # type: ignore
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/smartthinq/init.py", line 68, in setup
client = wideq.Client.from_token(refresh_token, region, language)
TypeError: from_token() takes 2 positional arguments but 4 were given

I've looked but couldn't find anyone else referencing this problem, and I can't sort it out myself.

Hi! That indicates a version of wideq that is too old. If you update to the latest version, this should go away.

I had just cloned the wideq repository this morning. How would I go about updating the version installed with the smartthinq repo? I'm running it in HassIO.

Huh; I’m not sure why it would get the wrong version. I don’t know about Hass.io, but the usual way to install the latest version of a package such as wideq is with pip.


Fixes MultilabelClassification eval_split

This fixes bug reported in https://github.com/embeddings-benchmark/mteb/issues/810 and caused by https://github.com/embeddings-benchmark/mteb/pull/759 .
Not sure if this is the best approach but since old eval_split was working I just copied it from classification abstask.

This is ok for the short term.
To confirm that it actually works, could you please add MalteseNewsClassification in tests/test_mteb.py as one of the test tasks? (the list starts on line 30)

Done ✅

This is ok for the short term. To confirm that it actually works, could you please add MalteseNewsClassification in tests/test_mteb.py as one of the test tasks? (the list starts on line 30)

Actually the evaluate method was removed by mistake in #759, I think @dokato just put it back so it should be good


fix decimal_or_float? method (undefined method number? in rails 5)

@rafaelfranca do you want to double check this one? I'm not sure if we can write a reliable test case right now as our test suite doesn't hit any db.

For Rails 5 we should stop relying in column and use the type information. With that we don't need to change any code since number? is now in the type object.

@rafaelfranca How does that type object get accessed?

@olivierlacan type_for_attribute

Is there any official fix for it yet? Rails 5 is already in RC1 but the issue is still present.

This PR appears abandoned, I'm going to submit a new one if you folks don't mind.

That'd be great, since there's already Rails 5 stable.

@oliverlacan feel free to do it. I think we can use type_for_attribute inside FormBuilder#find_attribute_column to start using the Attributes API but I don't know how backwards compatible it is with the existing column types we currently use.

@lucasmazza There's already a method check in there so I can just ask the receiver if it has type_for_attribute and go from there to try to keep it backward-friendly.

Given that this is a showstopper bug for Rails 5, may I put in a vote for merging this very old PR now, and working out whether to use type_for_attribute in a separate PR?

I've merged #1417 and release Simple Form 3.3.0 with it and the extra patches we had pending on master - thanks @olivierlacan for the initial patch. Let us know if Simple Form doesn't cover any usage case for Rails 5 so we can patch it up.

Sorry for the lack of follow-up on this @lucasmazza and thanks for taking care of this. 👍


[Issue] I'd like to fix all of the Async naming conventions to ensure the suffix 'Async' is added wherever possible

Hello,
I'd like to fix all the async methods and ensure all async methods end with the suffix Async - I will also add a CancellationToken cancellationToken = default); wherever possible.
This will be a breaking change as it changes all of the existing Method names.
I suggest that we do (1) of (2) things:
Option 1: Create duplicate methods with the suffix Async then mark the existing methods as [Obsolete] Iterate the version of Revoke.NET  from 2.0.1 to 2.1.0`
When it comes time to release 3.0.0 we will remove the [Obsolete] methods
This option is safer, but more painful for development reasons that are obvious.
Option 2:  Iterate to version 3.0.0 with the new Suffix of Async - this will be a breaking change. Users who wish to stay on version 2.x.x can do so.

My thoughts are that this is a younger project, so probably not many users, I vote for Option 2
What do you think?

Option 1 is better

Sounds good, i'll get started on Option 1 and make a pull request.
I will reach out if I have any questions.
Safer is always better 😄  thanks for the quick input 🚀

Hello!
I started to implement this here: https://github.com/jeffward01/Revoke.NET/tree/async-suffix
I noticed that the other projects rely on Revoke.Net version 2.0.1 from Nuget.
We could do something like:
Publish new version of Revoke.Net with the async methods to nuget: version 2.0.2 as an example,
Then after its 'live', I can work on upgrading the other projects.

What do you think?
If this is ok, I have made my PR, please publish the version to nuget, so I can start on converting the other projects.
You'll need to:

Accept the PR
Update the version number
Create a new release
Publish to nuget

Is this ok?

Question:

Do you think they'll be any issues with the other projects? I think no, because the other projects will target 2.0.1, not 2.0.2.
Thanks

I didn't realize I had Collaborator rights, thank you!! Very excited to help on this library.  You are awesome.
I looked to see if I could perform the steps

Accept the PR
Update the version number
Create a new release
Publish to nuget

But it appears as if you don't have a GitHub Action / Trigger set up, so I am assuming you manually deploy the package to Nuget?
At a time in the near future I can implement a Github Action trigger, I will just need you to popular a repository variable (I wont have access to it) with your Nuget API token.
Here is a tutorial on how you can set up the API key.  There are many other tutorials that you can review as well. Let me know if you need any help with this.  Thanks


add docs - fix #5066

Fix #5066
In the futur: enable #![deny(missing_docs)] for uucore (for now it's commented)

As a draft for now to wait for https://github.com/uutils/coreutils/pull/6516 first

in the future, could you please improve your commit message :)

@Its-Just-Nans https://github.com/uutils/coreutils/actions/runs/9835165711/job/27148291964?pr=6550 seems that some issues are still present, could you please have a look ? :) thanks

good catch!

https://github.com/uutils/coreutils/pull/6551


platform support list

This repo is so cool. I really like it. I want use it in my projects. Can you provide a list of browser support?

Chrome
Firefox
QQ browser
Quark Browser
Baidu Browser
Safari
All basic common browsers are supported

Good question - here are my notes before I write docs with platform support details:
Browser
Desktop:

Chrome: Supported

Minimum version Chrome 60 from 2017
WASM: For performance reasons it is recommended to enable WebAssembly SIMD support in chrome://flags

Firefox: Supported

Minimum version Firefox 55 from 2017
WebGL: Lower performance due to Firefox handing of WebGL memory garbage collection
WASM: For performance reasons it is recommended to enable javascript.options.wasm.simd in about:config
Web Workers: Not supported due to Firefox missing implementation for OffscreenCanvas

Safari: Limited support

Minimum version Safari 10.3
User reported as working but with limited testing
WebGL: Safari supports only WebGL1 but that is transparent to users

Other Chromium based browsers: Supported

Edge is included in testing and supported with same notes as Chrome
Other Chromium browsers are presumed as working

IE 11 or older: Not supported

Human requires ES2018 support in browsers

Mobile:

Chrome: Supported
Firefox: Supported
Other Chromium based browsers: Supported

Edge is included in testing and supported with same notes as Chrome

Safari: Limited support

User reported as working but with limited testing

IE 11 or older: Not supported

Human requires ES2018 support in browsers

NodeJS

Minimum version 14.0 which is current LTS version
Support could be extended to 12.0 if required
WIP: Face models are not supported in NodeJS as TensorFlow/JS for Node (tfjs-node) does not implement required function

Thank you very much, this information is very useful to me!

i'll close the issue but leave it pinned as it's useful info for other users.


Fix statics on extensibility views

Description
Changes proposed in this pull request:

...
...
...

Related issue(s)

/test pre-busola-lighthouse

/retest