RFC: Local loop bindings

This RFC is about adding local loop bindings.
Rendered
Here a simple example for the new syntax:
fn factorial(x: i32) -> i32 {
    loop (result, count) = (1, x) {
        if count == 1 {
            break result;
        }
        (result * count, count - 1)
    }
}

* Have you surveyed code/crates "in the wild" for how often this pattern is used? The concern with _all_ new RFCs is whether the increase in complexity of the language outweighs the increase in power or ergonomics.

Not yet, but I already have it in mind.

* Like @Centril suggested, what do you think of the `loop let` syntax? It certainly makes it more consistent with other syntax, like `while let` and `if let`. However, my worry with this is that users will expect the dynamic semantics to be like `while let`. Or if the pattern matching is made refutable, then we get a situation where it's often not clear whether to use `while let` or `loop let`, and indeed the significant difference in semantics would be hidden by the very similar syntax.

I just replied to it. Also a good point, that loop let could easily be confused with while let. With just loop, this won't happen that easily, I assume.
Maybe even loop for just irrefutable patterns and while/if loop for just refutable patterns, analogous to let and while/if let? (just an idea, I'm not really considering it)

Just fyi, you can build this with standard iterator adaptors now:
cycle(()).try_fold(
    (1, x),
    |(),(result, count)| {
        if count == 1 {
            Err(result);
        } else {
            Ok((result * count, count - 1))
        }
    }
).unwrap_err()

In practice you'd be doing something succinct like
foo.iter_mut().try_fold(start_x, |i,x| foo(i?,x) ?) ?;

of (1..=x).rev().product() in this case.
I'm nervous about yet more complex loop structures.  We'd gain more from conventions for error propagation from inside closures, of whichtry_fold gives a nice example.

Maybe even loop for just irrefutable patterns and while/if loop for just refutable patterns, analogous to let and while/if let? (just an idea, I'm not really considering it)

Yeah... I've thought over the alternatives here a bit, and I can't come up with one I'm totally satisfied with. I kind of feel this is a consequence of having two syntaxes (while and loop) for what's traditionally just a while loop.

cycle(()).try_fold(
    (1, x),
    |(),(result, count)| {
        if count == 1 {
            Err(result);
        } else {
            Ok((result * count, count - 1))
        }
    }
).unwrap_err()

foo.iter_mut().try_fold(start_x, |i,x| foo(i?,x) ?) ?;

These implementations are more confusing instead of expressing what's really going on.
When not used to rust error handling and advanced functional programming, this is difficult to understand.

(1..=x).rev().product()
This is pretty nice, but won't work for most cases.

I think familiarity with ? is obligatory for rust developers, while this syntax clearly adds "strangeness" overhead.  If you want to write so that imperative developers not familiar Rust can read it easily, then there is never going to be a syntax better than:
{ let mut x = start; loop {
    x = foo();
} }

If you accept to write for only a passing familiarity with Rust, then you can write more concisely by adopting the functional programming conventions like fold, etc.
In effect, the syntax proposed here creates an imperative "fold" operation, which improves conciseness, but only by being an extremely unfamiliar syntax.  You should follow functional programming conventions if you want to do this both concisely and readably.
We have no exceptions in Rust so our error handling requires tweaks like try_fold, but neither do many functional languages, and try_fold sounds more user friendly their their solutions.
We might discuss if some restricted form of closure could admit a limited form of exception, but really just making Resut<T,!> more equivalent to T likely permits doing this better.

This will not be a breaking change, since it's not allowed to have values other than () from a loop.

No, this is not true. A loop can yield a value through break.
Otherwise, I'm sorry to say but I dislike this proposal quite much.

The syntax is not intuitive, in fact it's not even evocative of the semantics.
The motivation is weak: the new syntax doesn't add anything new that a loop couldn't do previously. It introduces a lot of complication to the meaning of a loop for little reward. In fact, I find the reward disputable.
The recursion-like self-reference of the binding is implicit and magical (unlike an actual recursive function, where you can see the function call marking the point of recursion) – in other words, it's confusing.
The feature encourages procedural-style, loop-based code even for situations where a functional-style construct (e.g. fold or scan) would be entirely appropriate.

Furthermore, considering the factorial example:

This is, how you would define factorial using a loop now:
fn factorial(x: i32) -> i32 {
    loop (result, count) = (1, x) {
        if count == 1 {
            break result;
        }
        (result * count, count - 1)
    }
}

This is not any easier than:
fn factorial(x: i32) -> i32 {
    let mut result = 1;
    for count in 1..=x {
        result *= count;
    }
    result
}

In fact, the proposed version is longer and less clear. In a bigger, more complicated loop, I wouldn't like to have to trace all the occurrences of the changing bindings. I feel that writing code in this style would cause more harm than good.

This seems a lot to me like trying to emulate C-style for loops. I'm not sure I like it.

Alternative random idea: what if continue could take an expression inside a while let loop that would be used in place of the original?
fn factorial(x: i32) -> i32 {
    loop (result, count) = (1, x) {
        if count == 1 {
            break result;
        }
        continue (result * count, count - 1)
    }
}

Probably you should disallow implicitly or explicitly continuing with no value in this case, to avoid accidentally reevaluating the original let binding.

That would be a bit strange... I think break and continue should similar things to other languages.

@alercah
I also considered that. But it's just a different syntax. So instead of using different keywords for different kinds of loops, the same keywords will be used instead.
So this loop will work different depending on if the pattern is refutable, which will be confusing.
It may be possible allow continue with arguments in both cases, which would be even more confusing because the loop condition would not be evaluated in every iteration:
let mut i = 0;
while let Some(x) = list.pop() {
    i += 1;
    println!("iteration {}", i);
    x.handle();
    if let Some(child) = x.get_child() {
        continue Some(child)
    }
}
assert!(i == list.length())

I don't think, it will be intuitive, why in some cases, the assertion would fail.


ADM-281/update documentation

This PR fixes various documentation issues:

typos
inconsitencies in wording / spelling
removes <> in user commands to highlight placeholders
Adds CLI commands for setting the secrets for the individual integrations

closes Linear Ticket ADM-281

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


new versions not available on unpkg?

...any idea why new versions aren't available on unpkg?
Originally posted by @MrDevIr in https://github.com/coreui/coreui-free-bootstrap-admin-template/issues/433#issuecomment-429067310

@MrDevIr
it looks like unpkg issue https://github.com/unpkg/unpkg.com/issues/138
@coreui/coreui is also here: https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>

Hi @MrDevIr we are back https://unpkg.com/<EMAIL_ADDRESS>thanks for the heads-up!


How do I use this with a multi-page form?

It's fairly common to break down long forms into multiple steps. How would I use this plugin to validate each step individually?

The validator will only validate visible fields, so you can just validate the whole form at each step if you're only displaying one page at a time.
You can also set the selector used to determine which fields should be validated at
$.fn.validator.Constructor.INPUT_SELECTOR


[GLUTEN-1632][CH]Daily Update Clickhouse Version (20241010)

Auto commit by gluten daily build, please check the build status and merge it if it's green.

Rebase failed with https://github.com/ClickHouse/ClickHouse/pull/70141
Rebase failed with https://github.com/ClickHouse/ClickHouse/pull/70289
Rebase failed with https://github.com/ClickHouse/ClickHouse/pull/69768
Refer to https://github.com/apache/incubator-gluten/pull/7409

LGTM

debug build is broken due to https://github.com/ClickHouse/ClickHouse/pull/70532


[No QA] [TS migration] Migrate 'FixedFooter.js' component to TypeScript

Details
Migration of FixedFooter to Typescript.
Fixed Issues
$ https://github.com/Expensify/App/issues/24984
PROPOSAL: N/A
Tests

[x] Verify that no errors appear in the JS console
[x] Test main flows of the app (sending message, request money, login).
[x] FixedFooter is used in multiple places, for example on the bottom of the workspace view

Offline tests
N/A
QA Steps
N/A
PR Author Checklist

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

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/46095609/ac635e81-420d-482c-abcd-5403033a02a4

Mobile Web - Chrome
https://github.com/Expensify/App/assets/46095609/f78ca3b9-ba24-4730-bf00-c484bba53da4

Mobile Web - Safari
https://github.com/Expensify/App/assets/46095609/3d14832d-187f-439b-97d6-5e01af1998e5

Desktop
https://github.com/Expensify/App/assets/46095609/36863c6b-b22c-4844-a524-3f597ae70960

iOS
https://github.com/Expensify/App/assets/46095609/1bf136b6-5e20-48ab-89c9-dd70685354d4

Android
android.webm

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/MonilBhavsar in version: 1.3.90-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/marcaaron in version: 1.3.90-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/MonilBhavsar in version: 1.3.91-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/marcaaron in version: 1.3.91-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


i18n(es): add hashnode.mdx

Description (required)
Add new hashnode.mdx translation for es.
Reused the original hashnode.mdx file, from en in order to translate the new file.

Related issues & labels (optional)

Closes #
Suggested label: i18n

Hello! Thank you for opening your first PR to Astro’s Docs! 🎉
Here’s what will happen next:

Our GitHub bots will run to check your changes.
If they spot any broken links you will see some error messages on this PR.
Don’t hesitate to ask any questions if you’re not sure what these mean!

In a few minutes, you’ll be able to see a preview of your changes on Vercel 🥳

One or more of our maintainers will take a look and may ask you to make changes.
We try to be responsive, but don’t worry if this takes a few days.

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

es
guides/cms/hashnode.mdx
Localization added, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.

@ItzRoBeerT I haven't merged this yet cause the change hasn't been applied 😁


re #91 - initial draft of change

@klucar Here is a draft of the changes. I removed the interpolation AND the convertRateToCounter methods. Tests pass. Thoughts on removing both methods?

This change does the following:

The DownsampleIterator no longer creates an array of downsamples upon initialization. Instead, it creates downsample buckets as needed.
The DownsampleIterator no longer interpolates for missing values.
The DownsampleIterator no longer converts counters to rates, this is done with a different iterator. The counter reset value and counter max value are no longer used.

merged manually


Support culture as name of the resource file

I quote from PR #6

In my solution, I have single localization file for each language (i.e. en.json, ar.json etc.).

This is practically useful in the  micro services cases, where each service only require single shared resource.

I ll let use IStringLocalizer` instead, keep tuning ..


bugfix: record logpath to container mata

Signed-off-by: YaoZengzeng<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
We should get the LogPath information when we get the status of the container.
But now CRI Manager handle the log stuff of the CRI container by itself.
So we should store the LogPath as meta data when we create container, then we could get the log information when we return the status of container.
It is what this PR do.
However I think we should let the container manager handle the log stuff for all containers including the CRI container or non-CRI container. Then we could get all the container-related information from container manager other then maintaining an extra container meta data store in CRI manager.
@fuweid If you are free, please let the log driver in container manager to support the CRI format log file 😄
Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how you did it
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #1735 into master will decrease coverage by 0.21%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #1735      +/-   ##
==========================================
- Coverage   41.43%   41.21%   -0.22%
==========================================
  Files         277      277
  Lines       18209    18260      +51
==========================================
- Hits         7544     7526      -18
- Misses       9737     9803      +66
- Partials      928      931       +3

Impacted Files
Coverage Δ

cri/v1alpha1/cri.go
0% <0%> (ø)
:arrow_up:

cri/v1alpha2/cri_types.go
0% <0%> (ø)
:arrow_up:

cri/v1alpha1/cri_types.go
0% <0%> (ø)
:arrow_up:

cri/v1alpha2/cri.go
0% <0%> (ø)
:arrow_up:

apis/opts/oom_score.go
0% <0%> (-100%)
:arrow_down:

apis/opts/cpu.go
0% <0%> (-50%)
:arrow_down:

storage/volume/core.go
56.58% <0%> (-2.93%)
:arrow_down:

daemon/logger/jsonfile/utils.go
71.54% <0%> (-1.63%)
:arrow_down:

@fuweid PTAL

Any update for this? @YaoZengzeng

The problem was solved by another PR, close this right now.


Using global documents in grouped cluster topology triggers bug that may cause reduced replication for subset of data

There is a bug in how we transform the configuration of a grouped cluster topology into a configuration that distributes global documents to all nodes in the topology. The observed impact of this bug is that some data buckets in the global bucket space may not be replicated as expected across all nodes. This can in turn lead to reduced recall for searches that use parent-child and refer to these global documents.
This bug only affects a minor subset of the global bucket space and is presumably the reason why this wasn't detected by our internal integration tests. Non-global document replication is not affected.
The fix for this bug is to correct the configuration transformation so that the data placement algorithm will emit the expected set of replicas.

The changes introduced as part of #8479 had unintended consequences for rolling upgrades. Since the distribution config is generated in-process, it will vary across versions. When distributors and content nodes with different versions try to exchange bucket info upon cluster state changes, they will not agree. This causes info requests to be rejected and stalling the cluster state change.
Will likely need to introduce a workaround.

Multiple internal upgrade cycles have passed since the fix was merged with no observed regressions; closing issue.
This issue is likely to have impacted rolling upgrades for content clusters with node groups between (and including) versions 7.12.13 and 7.15.21. Versions before and after are not affected, though it is strongly recommended that anyone using grouped clusters and global documents upgrade to a version  that is >= 7.16.38, as otherwise search results may not always give the expected results across groups.


MythicalMysfitsCoreStack failure

MythicalMysfitsCoreStack fails to deploy. keep getting a rollback-in-progress message. when i disabled rollback it says CREATE_FAILED.
Status Reason (MythicalMysfitsCoreStack):
The following resource(s) failed to create: [PrivateRouteTableOne, PrivateSubnetOne, PublicSubnetTwo, PrivateSubnetTwo, GatewayAttachement, PrivateRouteTableTwo, PublicSubnetOne, PublicRouteTable].
Status Reason(PrivateSubnetTwo):
Template error: Fn::Select cannot select nonexistent value at index 1
Status Reason(PublicSubnetTwo):
Template error: Fn::Select cannot select nonexistent value at index 1

Sorry you're getting this error.  Were any values in core.yml altered? That template should create fine as-is without any changes required.  Seprately, which region is this being run within?  Be sure it's within one of the supported AWS regions called out in the beginning of module 1.

Hi, thanks for the response. No changes were made to the core.yml.  I may have overlooked the region settings for the stack, which could be the problem. I will update this post when I check the region.


Stepping with env.step(action) on playtablesim mutates the input action array.

It seems that when using the PlayTableEnv for RL, the input action is mutated (so our actions being saved to the buffer were incorrect :( ).
I believe that this is due to this line: https://github.com/mees/calvin_env/blob/6e7ceaa6e8dbc0c8582c2ec0c6f7943c68f5ce72/calvin_env/robot/robot.py#L312
Maybe there should be an np.copy(action) applied first here?

Thank you for noticing this bug, I fixed it as you suggested.


multiple loaders

Currently, only one loader can be registered.
We plan to change it so that multiple loaders can be registered through plugin or config.
export default defineConfig({
  loaders: []
})

added in 3.0.0-alpha.9


Practical GitHub Project Management and Collaboration

How to create  and manage your work using GitHub projects

what is git reset and how is it different from git revert

What is Git stash


Design content

See chapter "6. WORKSHOP" in confluence, see mail.
Deadline Wednesday 15th January

Solved


Degradation in en-core-sci-scibert model performance

Hey @dakinggg
I am working on SPIKE in the AI2-israel team, where we use scispacy's Models
We have seen some degradation in the performance of the en-core-sci-scibert model from version 0.4.0 to 0.5.1 (esp. around PP-attachment, conjunction attachments, and noun/adjective mixups)

Do you know anything about this?
Would it be possible to send us the data you trained on so we can try and retain (at least so we have something until a fix will be released)?
Lmk if you want me to attach examples and done stats

Btw are you the maintainer of this repo?
Lmk if you want to discuss it offline<EMAIL_ADDRESS>Thanks a lot

Responded via email


dev.go2go: please rebase against master or at least 1.15.

I used to manually rebase it but the changes are a bit too much atm.

CC @griesemer

As this is a prototype and we wanted to keep a clean history of changes, in the past I have simply rebased the entire sequence of commits on top of master, and then rewritten the history in the repo.
Is this still acceptable?

@griesemer  Yep that would be perfect.

Just FYI: This may happen as needed; but it's not urgent as this branch is just a prototype.


Glitchy object position.

When I add a lot of objects to a scene, the models start twitching within their bounding boxes, as seen here...

The syntax for these models is as follows...
<a-entity scale=".5 .5 .5" obj-model="obj: #sketch-obj; mtl: #sketch-mtl" dynamic-body="shape: box; mass: 2"></a-entity>
You can try it here, click the mouse button to add objects.
http://flukeout.github.io/test/
Any info or advice is helpful!

Huh. Will look into that. If it were just during collisions I would say to try tweaking restitution and friction, which aren't exposed as declarative options yet, but with objects twitching even with nothing else touching them that might just be some sort of glitch.

That doesn't look like so many objects that it would be a problem for cannonjs to handle, though. Several official demos have more.

Definitely gets worse the more objects are on the scene, and it looks like cannonjs's notion of where the objects are stays constant, the red debug outlines don't glitch, just the contents.

@flukeout I don't have a general fix yet, but did find the issue and a workaround.
Your scene adds velocity and dynamic-body on the same entity, but I assume dynamic-body instances will only move based on physics, so both components are trying to move the model at the same time, hence the twitching.
Quick workaround for app.js, on aframe-extras v1.16.1 (c5844a7b8b81d51b8131b70306738991782461f4), is instead of using the velocity component:
box[0].addEventListener('body-loaded', function (e) {
  e.target.body.velocity.set(-1 * opposite, 4, adjacent);
});

I'll need to think about how/if velocity should do bi-directional updates.

Hey, thanks for checking into this - I'm traveling for the next little while but when I'm back I'll try that out and post results.
Also, I moved the original demo to:
http://flukeout.github.io/farewell-ricardo/


live_builder health check server

Creates a new module server inside live_builder

Server exposes a single fn start, which starts an actix server on the given port
Initial server implementation just exposes one route /health that responds 200

Adds new base config item live_builder_server_port
Server is spawned when running the live_builder cli

We already have server that you can hook on that serves telemetry + other debug endpoints we can add health endpoint there too. What is the justification for not using it and for adding additional server instead?

The names opaque_server/debug_server tells me nothing. I liked more "telemetry".
Maybe full_telemetry and health_check (or redacted_telemetry)?


Update Cocos2D-X environment and Flurry SDKs

I have updated all the files which are required for you to add it to your own application, I haven't touched the example, though.

Ok, I've missed a few in AnalyticXStringUtilAndroid.cpp.


Document whether / how user data is backed up

Some folks have asked questions like "should I tell my students to create backups of their work in case their data gets lost?" What should I respond in those cases? Does our NFS server have backups set up? If not, should we recommend people download .zips of their files occasionally? Have we ever had an issue where we lost user storage data?

We now do 7day daily 'disaster recovery' backups. However, I think this isn't good enough, since we don't wanna do a lot of work restoring this - especially for recovering a single user's work.
I think we should:

Make it easy and obvious for a student to download their entire home directory
Make it possible for an admin to get the home directory of all students.

I'm gonna close this one and we can track it in https://github.com/2i2c-org/pilot-hubs/issues/641


Dota 2 no longer starts on Steam

Describe the bug
When I launch Dota 2 from steam which used to work when I last tried it a couple months ago, the game just exits with no information. Launching steam from the command line yields this information:
GameAction [AppID 570, ActionID 3] : LaunchApp changed task to UpdatingAppInfo with ""
GameAction [AppID 570, ActionID 3] : LaunchApp changed task to ProcessingInstallScript with ""
GameAction [AppID 570, ActionID 3] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 570, ActionID 3] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 570, ActionID 3] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 570, ActionID 3] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 570, ActionID 3] : LaunchApp continues with user response "CreatingProcess"
Game update: AppID 570 "", ProcID 13881, IP <IP_ADDRESS>:0
Starting app 570
>>> Adding process 13881 for game ID 570
ERROR: ld.so: object '/home/tristan/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' fro
m LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 570, ActionID 3] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/tristan/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' fro
m LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/tristan/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' fro
m LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 13883 != 13882, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/tristan/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' fro
m LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/tristan/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' fro
m LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/tristan/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' fro
m LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
GameAction [AppID 570, ActionID 3] : LaunchApp changed task to Completed with ""
>>> Adding process 13882 for game ID 570
>>> Adding process 13884 for game ID 570
ERROR: ld.so: object '/home/tristan/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' fro
m LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
>>> Adding process 13885 for game ID 570
>>> Adding process 13886 for game ID 570
Using breakpad crash handler
[S_API] SteamAPI_Init(): Loaded '/home/tristan/.local/share/Steam/linux64/steamclient.so' OK.
Game update: AppID 570 "", ProcID 13885, IP <IP_ADDRESS>:0
RecordSteamInterfaceCreation (PID 13885): SteamUtils009 / Utils
Setting breakpad minidump AppID = 570
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
RecordSteamInterfaceCreation (PID 13885): SteamUser020 / User
Steam_SetMinidumpSteamID:  Caching Steam ID:<PHONE_NUMBER>6220408 [API loaded yes]
Steam_SetMinidumpSteamID:  Setting Steam ID:<PHONE_NUMBER>6220408
RecordSteamInterfaceCreation (PID 13885): SteamUtils009 /
RecordSteamInterfaceCreation (PID 13885): SteamUser020 /
Setting breakpad minidump AppID = 373300
RecordSteamInterfaceCreation (PID 13885): SteamFriends017 /
RecordSteamInterfaceCreation (PID 13885): SteamMatchMaking009 /
RecordSteamInterfaceCreation (PID 13885): SteamMatchGameSearch001 /
RecordSteamInterfaceCreation (PID 13885): SteamMatchMakingServers002 /
RecordSteamInterfaceCreation (PID 13885): STEAMUSERSTATS_INTERFACE_VERSION011 /
RecordSteamInterfaceCreation (PID 13885): STEAMAPPS_INTERFACE_VERSION008 /
RecordSteamInterfaceCreation (PID 13885): SteamNetworking005 /
RecordSteamInterfaceCreation (PID 13885): STEAMREMOTESTORAGE_INTERFACE_VERSION014 /
RecordSteamInterfaceCreation (PID 13885): STEAMSCREENSHOTS_INTERFACE_VERSION003 /
RecordSteamInterfaceCreation (PID 13885): STEAMHTTP_INTERFACE_VERSION003 /
RecordSteamInterfaceCreation (PID 13885): SteamController007 /
RecordSteamInterfaceCreation (PID 13885): STEAMUGC_INTERFACE_VERSION013 /
RecordSteamInterfaceCreation (PID 13885): STEAMAPPLIST_INTERFACE_VERSION001 /
RecordSteamInterfaceCreation (PID 13885): STEAMMUSIC_INTERFACE_VERSION001 /
RecordSteamInterfaceCreation (PID 13885): STEAMMUSICREMOTE_INTERFACE_VERSION001 /
RecordSteamInterfaceCreation (PID 13885): STEAMHTMLSURFACE_INTERFACE_VERSION_005 /
RecordSteamInterfaceCreation (PID 13885): STEAMINVENTORY_INTERFACE_V003 /
RecordSteamInterfaceCreation (PID 13885): STEAMVIDEO_INTERFACE_V002 /
RecordSteamInterfaceCreation (PID 13885): STEAMTV_INTERFACE_V001 /
RecordSteamInterfaceCreation (PID 13885): STEAMPARENTALSETTINGS_INTERFACE_VERSION001 /
RecordSteamInterfaceCreation (PID 13885): SteamInput001 /
ERROR: ld.so: object '/home/tristan/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' fro
m LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
crash_20200328114414_1.dmp[13893]: Uploading dump (out-of-process)
/tmp/dumps/crash_20200328114414_1.dmp
>>> Adding process 13892 for game ID 570
/home/tristan/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh: line 104: 13885 Se
gmentation fault      (core dumped) ${STEAM_RUNTIME_PREFIX} ${GAME_DEBUGGER} "${GAMEROOT}"/${G
AMEEXE} "$@"
crash_20200328114414_1.dmp[13893]: Finished uploading minidump (out-of-process): success = yes
crash_20200328114414_1.dmp[13893]: response: Discarded=1
crash_20200328114414_1.dmp[13893]: file ''/tmp/dumps/crash_20200328114414_1.dmp'', upload yes:
 ''Discarded=1''
pid 13893 != 13892, skipping destruction (fork without exec?)
Game removed: AppID 570 "", ProcID 13885
Game 570 created interface STEAMAPPLIST_INTERFACE_VERSION001 /
Game 570 created interface STEAMAPPS_INTERFACE_VERSION008 /
Game 570 created interface STEAMHTMLSURFACE_INTERFACE_VERSION_005 /
Game 570 created interface STEAMHTTP_INTERFACE_VERSION003  /
Game 570 created interface STEAMINVENTORY_INTERFACE_V003 /
Game 570 created interface STEAMMUSICREMOTE_INTERFACE_VERSION001 /
Game 570 created interface STEAMMUSIC_INTERFACE_VERSION001 /
Game 570 created interface STEAMPARENTALSETTINGS_INTERFACE_VERSION001 /
Game 570 created interface STEAMREMOTESTORAGE_INTERFACE_VERSION014 /
Game 570 created interface STEAMSCREENSHOTS_INTERFACE_VERSION003 /
Game 570 created interface STEAMTV_INTERFACE_V001 /
Game 570 created interface STEAMUGC_INTERFACE_VERSION013 /
Game 570 created interface STEAMUSERSTATS_INTERFACE_VERSION011 /
Game 570 created interface STEAMVIDEO_INTERFACE_V002 /
Game 570 created interface SteamController007 /
Game 570 created interface SteamFriends017 /
Game 570 created interface SteamInput001 /
Game 570 created interface SteamMatchGameSearch001 /
Game 570 created interface SteamMatchMaking009 /
Game 570 created interface SteamMatchMakingServers002 /
Game 570 created interface SteamNetworking005 /
Game 570 created interface SteamUser020 /
Game 570 created interface SteamUser020 / User
Game 570 created interface SteamUtils009 /
Game 570 created interface SteamUtils009 / Utils
Game 570 method call count for IClientUser::GetSteamID : 4
Game 570 method call count for IClientUtils::GetAppID : 28
Game 570 method call count for IClientUtils::RecordSteamInterfaceCreation : 25
Game 570 method call count for IClientUtils::GetSteamUILanguage : 1
Game 570 method call count for IClientAppManager::GetAppStateInfo : 1
Game 570 method call count for IClientAppManager::GetCurrentLanguage : 1
Uploaded AppInterfaceStats to Steam
Exiting app 570

To Reproduce
Steps to reproduce the behavior:

Install Steam
Install Dota 2 on Steam
Launch Dota 2 on Steam

Expected behavior
Dota 2 Launches
Additional context
[tristan@Helia:~]$ ldd /home/tristan/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so
        linux-vdso.so.1 (0x00007ffef67e8000)
        libGL.so.1 => not found
        librt.so.1 => /nix/store/9rabxvqbv0vgjmydiv59wkz768b5fmbc-glibc-2.30/lib/librt.so.1 (0
x00007fa992b5f000)
        libdl.so.2 => /nix/store/9rabxvqbv0vgjmydiv59wkz768b5fmbc-glibc-2.30/lib/libdl.so.2 (0
x00007fa992b5a000)
        libstdc++.so.6 => not found
        libpthread.so.0 => /nix/store/9rabxvqbv0vgjmydiv59wkz768b5fmbc-glibc-2.30/lib/libpthre
ad.so.0 (0x00007fa992b39000)
        /nix/store/9rabxvqbv0vgjmydiv59wkz768b5fmbc-glibc-2.30/lib64/ld-linux-x86-64.so.2 (0x0
0007fa992da8000)
        libm.so.6 => /nix/store/9rabxvqbv0vgjmydiv59wkz768b5fmbc-glibc-2.30/lib/libm.so.6 (0x0
0007fa9929f9000)
        libc.so.6 => /nix/store/9rabxvqbv0vgjmydiv59wkz768b5fmbc-glibc-2.30/lib/libc.so.6 (0x0
0007fa992838000)

Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 5.4.28, NixOS, 20.09pre218482.3320a06049f (Nightingale)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.3`
 - channels(root): `"nixos-20.09pre218482.3320a06049f"`
 - channels(tristan): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

I'm getting the same message about gameoverlayrenderer.so with a different game (The Stanley Parable demo). However mine fails with an error about creating a GL context:

Output
GameAction [AppID 247750, ActionID 2] : LaunchApp changed task to ProcessingInstallScript with ""
GameAction [AppID 247750, ActionID 2] : LaunchApp changed task to SynchronizingCloud with ""
GameAction [AppID 247750, ActionID 2] : LaunchApp changed task to SiteLicenseSeatCheckout with ""
GameAction [AppID 247750, ActionID 2] : LaunchApp changed task to CreatingProcess with ""
GameAction [AppID 247750, ActionID 2] : LaunchApp waiting for user response to CreatingProcess ""
GameAction [AppID 247750, ActionID 2] : LaunchApp continues with user response "CreatingProcess"
Game update: AppID 247750 "", ProcID 57779, IP <IP_ADDRESS>:0
ERROR: ld.so: object '/home/nadrieril/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/nadrieril/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
pid 57781 != 57780, skipping destruction (fork without exec?)
ERROR: ld.so: object '/home/nadrieril/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
ERROR: ld.so: object '/home/nadrieril/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Starting app 247750
>>> Adding process 57779 for game ID 247750
GameAction [AppID 247750, ActionID 2] : LaunchApp changed task to WaitingGameWindow with ""
ERROR: ld.so: object '/home/nadrieril/.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
GameAction [AppID 247750, ActionID 2] : LaunchApp changed task to Completed with ""
>>> Adding process 57780 for game ID 247750
>>> Adding process 57782 for game ID 247750
>>> Adding process 57783 for game ID 247750
>>> Adding process 57784 for game ID 247750
libGL error: MESA-LOADER: failed to open i965 (search paths /run/opengl-driver-32/lib/dri)
libGL error: failed to load driver: i965
libGL error: MESA-LOADER: failed to open i965 (search paths /run/opengl-driver-32/lib/dri)
libGL error: failed to load driver: i965
libGL error: MESA-LOADER: failed to open swrast (search paths /run/opengl-driver-32/lib/dri)
libGL error: failed to load driver: swrast
SDL video target is 'x11'

Failed to create GL context: Could not create GL context
Game removed: AppID 247750 "", ProcID 57779
Uploaded AppInterfaceStats to Steam
Exiting app 247750
No cached sticky mapping in ActivateActionSet.

I remember always getting issues with gameoverlayrenderer.so but that only prevented the Steam overlay, games worked.
I'm also having X issues with both TF2 and CS:GO when using primusrun. The specific X error is with a call to X_GLXSwapBuffers. I'm guessing my Primus config isn't working now for some reason.

After some troubleshooting, it seems that this problem is specific to swaywm/wayland. Dota 2 starts without issue on X.Org but when I launch it from sway this error occurs.

Hm, I managed to get the same error on a X.Org plasma environment when trying to launch  "Seven Days to Die":

ERROR: ld.so: object '/home/flokli/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored

The gameoverlay log message is benign. It's just trying to load the 64bit one unconditionally and that fails (somewhat) gracefully in 32bit games but produces a log message.
The actual issue is that the game segfaults:
/home/tristan/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh: line 104: 13885 Segmentation fault      (core dumped) ${STEAM_RUNTIME_PREFIX} ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

@starcraft66 you mentioned that you only experience this issue under wayland/sway. Make sure you haven't set SDL_VIDEODRIVER=wayland unconditionally. For most games on Steam, it should still be X11 because they can't actually do wayland properly and a segfault could be a result of that.
Don't globally set that variable as the sway wiki stupidly suggests.
Can anyone reproduce this issue with SDL_VIDEODRIVER=x11?

@Atemu Sorry I don't use wayland anymore so I cannot offer anymore assistance on this issue. I also don't play much Dota 2 anymore but I've played it recently on X11 and it worked fine. I'll try it again tonight to be sure.

Dota 2 has no issues on my end (nixpkgs-unstable, Plasma Wayland). I'd say this can be closed.

Perfect.
On Fri., Nov. 25, 2022, 09:52 SuperSamus, @.***> wrote:

Dota 2 has no issues on my end (nixpkgs-unstable, Plasma Wayland). I'd
say this can be closed.
—
Reply to this email directly, view it on GitHub
https://github.com/NixOS/nixpkgs/issues/83603#issuecomment-1327598677,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAOFU2VJHLDRIITATU32B7DWKDHBHANCNFSM4LVTWGDQ
.
You are receiving this because you were mentioned.Message ID:
@.***>


graphQL Query not working Correctly !

Hey there !
I am having trouble running query in graphQl.
I am using this query to get some orders filtered.
$query = '{       orders(first: 20, query:"Beauty Tee") {           edges {           node {               id               name               customer {               id               firstName               lastName               }               lineItems(first: 5) {               edges {                   node {                   id                   title                   }               }               }           }           }       }}';   $result = $shop->api()->graph($query);   print_r($result['body']);
I got the expected result in the shopify graplQl app. Below is the screenshot from the app.

But to my expectation here is the result screenshot from the code output.

I am using
"php": "7.4",
"laravel": "7"
"osiset/laravel-shopify": "^16.0"

Hey @Gouenji10 I am having the same, issue except the response is returning HTML with the code to do the redirect back to Shopify.
This only started yesterday as well after updating to v16, I'm not sure if that is the sole cause or a coincidence but I wanted to add to the thread as I am having issues suddenly as well.
I followed the upgrade guides but I know there is ongoing development on the Auth Refactoring #744 so maybe this is a side effect? Not sure but very odd since the query was working previously and was not modified during the upgrades.
I haven't tried querying through graphiql or anything yet but I will to see if I get the correct response via that method.

My query works correctly when testing with a local version of the app using Homestead (w/ HTTPS), @Gouenji10 are you using Heroku?
My Heroku version of the app is having issues with the graphql query so I wonder if its the same for you. Does your app work locally but break on a server?

@derickRenwick  I am not using Heroku. I am working directly on the  stagging version of the server.

@Gouenji10 Ok thanks for the extra info. My issue was resolved after fixing another bug related to some js on the same page. Not sure if that was the direct solution or I had done something else in the process but its working correctly now.

@derickRenwick  I don't have any JS confilict. I am just simply trying to get the data by using graphQL from the controller and passing the value to view. For testing on the shopifyQL App the query works perfectly, but we trying to query with the graphQL api it doesn't show any result.

Closing as stale issue.


Script to run the new wallet with new impl

The existing demo-with-new-wallet-api script was starting the new wallet in "legacy mode", where it's no more than a thin wrapper around the old wallet code. The new wallet in legacy mode was just there as a proof of concept. I've renamed that script now to demo-with-legacy-new-wallet-api. The demo-with-new-wallet-api script now runs the new wallet starting the actual new wallet. In order to do this I needed to add the possibility to demo.sh to pass additional arguments to the wallet executable.
This also adds some logging to the BListener hooks so that we can verify that they get called; the log will contain entries such as
node3.log:[*production*:ERROR:ThreadId 68] [2018-02-16 16:22:32.01 UTC] walletApplyBlocks not implemented

@georgeee , requesting review from you just to make sure that the change I made to demo.sh is benign and won't break other users.

Thank you very much for this, @edsko ! Once @georgeee approves and the conflicts are addresses, I'm OK to merge this and inform the rest of the team about the semantic change in the script(s).

Rebased on latest develop.


obsidian integration context menu not appearing on chrome

Using Chrome 106.0.5249.91 (Official Build) (64-bit) on Archlinux with the web store extension 3.2.1.
My configuration is as follows:

{
"backmatter": "",
"bulletListMarker": "-",
"codeBlockStyle": "fenced",
"contextMenus": true,
"disallowedChars": "[]#^",
"downloadImages": false,
"downloadMode": "contentLink",
"emDelimiter": "",
"fence": "```",
"frontmatter": "---\npage-title: "{pageTitle}"\ndate: "{date:YYYY-MM-DDTHH:mm:ss}" \nurl: {baseURI}\n---\n",
"headingStyle": "atx",
"hr": "__",
"imagePrefix": "{pageTitle}/",
"imageRefStyle": "inlined",
"imageStyle": "originalSource",
"includeTemplate": true,
"linkReferenceStyle": "full",
"linkStyle": "inlined",
"mdClipsFolder": null,
"obsidianFolder": "misc-reading",
"obsidianIntegration": true,
"obsidianVault": "obsidian",
"saveAs": false,
"strongDelimiter": "**",
"title": "{pageTitle}",
"turndownEscape": true
}

The option to import to Obsidian does not appear:

Possibly I know the answer to this one, as I had to go hunting yesterday.
The "send to obsidian" option doesn't appear when you right click the extension, but rather when you right-click the page itself.
https://user-images.githubusercontent.com/2371903/196658591-01e232d2-c260-47e7-9bdd-b4921d3b4087.mp4

@tlonic as @fahran said, for now the obsidian integration is only available via context menu. As I'm not expert on js and web ext, I will try my best to learn how to add the obsidian feature on obsidian icon click.

@aancw i click the option :" send to opsidian" but just obsidian opens no markdownfile.

Yeah same here it just copies the selection or tab it doesn't create a file or download anything

@Captain-Leftovers Install the advance uri plugin.
Then go to plugin option . Check the obsidian integration option . Then add vault name and file you want to add into. For me its Resources/Web.
Keep obsidian open then click open with obsidian it should work.

@Captain-Leftovers Install the advance uri plugin. Then go to plugin option . Check the obsidian integration option . Then add vault name and file you want to add into. For me its Resources/Web.
Keep obsidian open then click open with obsidian it should work.

So the problem i missed in my case was that i use Obsidian on my windows and my linux machine and when i do that the extension is  performing sync on the other machine  The problem is the path to the vault is different in Linux and Windows so the sync is making it not work on two machines
i know i can disable extensions sync but the problem with that is that i only cna disable all extensions sync not just MarkDownload
pls correct me if im wrong
thank you

When installing an extension as an unzipped source, the context menu items of Onbsidian disappear

So the problem i missed in my case was that i use Obsidian on my windows and my linux machine and when i do that the extension is performing sync on the other machine The problem is the path to the vault is different in Linux and Windows so the sync is making it not work on two machines i know i can disable extensions sync but the problem with that is that i only cna disable all extensions sync not just MarkDownload pls correct me if im wrong thank you

Are you referring to the case of downloading an md file to a specified folder?
Since saving via Obsidian URI does not require an absolute path, only a vault name and a folder name.


Core | JS | Move 'optimizedResize' into Core

Jira
http://vjira2:8080/browse/BDS-1882
Summary
Move optimizedResize event into Bolt Core and rename it throttledResize. Add debouncedResize event.
Details
optimizedResize was duplicated in a several components. I've refactored into a single file in Core. I've also included a new debouncedResize Custom Event, which is currently only used by image but can be used by any other component.
Fixes/Improvements

throttledResize is now only included once on the page, even if multiple components use it.
debouncedResize event listeners are now properly removed when Images are disconnected. Previously, this.onResize was wrapped in debounce() and not removed on disconnecting() (see code).

How to test

Review files changed
Checkout feature/move-optimized-resize-to-core locally
Test the following components cross-browser, especially what happens on resize, and verify there are no regressions:

Carousel
Image
Nav Priority
Tabs

PR was released with v2.11.0


[BUG] Failed to deploy local ONNX model "gte-large-en-v1.5" with error "input mismatch"

Describe the bug
With Opensearch v2.15.0, When deploying local ONNX model "gte-large-en-v1.5", I got an error of:

input mismatch, looking for: [input_ids, attention_mask, token_type_ids]

The model zip file can be downloaded from: https://github.com/magda-io/embedding_models/releases/tag/gte-large-en-v1.5
The model can be registered & downloaded properly. But when deploy, the error above will be produced.
However, a smaller version of similar model "gte-base-en-v1.5" can be deployed (and create emebedings) properly with no issue.
The working model can be found here: https://github.com/magda-io/embedding_models/releases/tag/gte-base-en-v1.5
Related component
Plugins
To Reproduce
Following the guide here: https://opensearch.org/docs/latest/ml-commons-plugin/custom-local-models/

Register a model group
Register a local model

POST /_plugins/_ml/models/_register
{
  "name": "gte-large-en-v1.5",
  "version": "1.5.0",
  "model_group_id": "wlcnb4kBJ1eYAeTMHlV6",
  "description": "gte-large-en-v1.5",
  "function_name": "TEXT_EMBEDDING",
  "model_format": "ONNX",
  "model_content_size_in_bytes":<PHONE_NUMBER>,
  "model_content_hash_value": "72e4037cd3e2a2499a3c92759159982982871a40715ca7c38f583934aa17306b",
  "model_config": {
    "model_type": "BertModel",
    "embedding_dimension": 768,
    "framework_type": "sentence_transformers"
  },
  "url": "https://github.com/magda-io/embedding_models/releases/download/gte-large-en-v1.5/model.zip"
}

check the status of the register operation
Deploy the model via endpoint POST /_plugins/_ml/models/[mode id]/_deploy
check the status of the deploy operation and you will see the fail status & error

Expected behavior
Be able to successfully deploy the ONNX format model without error.
Additional Details
Plugins
Running the official Docker image with no additional plugins installed.
Screenshots
If applicable, add screenshots to help explain your problem.
Host/Environment (please complete the following information):

OS: Running the official Docker image
Version v2.15.0

Additional context
Add any other context about the problem here.

[Triage - attendees 1 2 3 4 5]
@opensearch-project/admin Could you please move this to the ml-commons repository?


Edit

👷 Deploy Preview for adoring-leavitt-e31a11 processing.

Name
Link

🔨 Latest commit
06a2e10d794b1bc29c32b56780b7022c6a3080be

🔍 Latest deploy log
https://app.netlify.com/sites/adoring-leavitt-e31a11/deploys/62a1dd2dc2f0650009d4399f


Add Scalac to the list

Scalac.io is a company with a focus on bespoke development utilizing the Lightbend stack. Its fully remote and is a great place to be. Pretty sure, it should be on the list

HI @zaharidichev, you can open a Pull Request and full out the needed details, I can then review and add to the list 👍

Hi @dougaitken , I'd be open to taking this issue.

This was sorted in #692 but please do review and help with any others @abc516


Add Edit button to the URL tab.

Closes #527.

👍

Codecov Report

Merging #528 into master will increase coverage by 0.29%.
The diff coverage is 95.65%.

@@             Coverage Diff             @@
##             master    #528      +/-   ##
===========================================
+ Coverage     82.41%   82.7%   +0.29%
  Complexity      929     929
===========================================
  Files           146     146
  Lines          2269    2284      +15
  Branches        287     290       +3
===========================================
+ Hits           1870    1889      +19
+ Misses          261     256       -5
- Partials        138     139       +1

Impacted Files
Coverage Δ
Complexity Δ

...eb-ui/src/client/app/containers/violations-tab.jsx
16.66% <ø> (ø)
0 <0> (ø)
:arrow_down:

web-ui/src/client/app/containers/app.jsx
62.5% <ø> (ø)
0 <0> (ø)
:arrow_down:

web-ui/src/client/app/containers/root.jsx
0% <ø> (ø)
0 <0> (ø)
:arrow_down:

web-ui/src/client/app/containers/violations.jsx
100% <100%> (ø)
0 <0> (ø)
:arrow_down:

web-ui/src/client/app/services/rest.js
100% <100%> (+11.11%)
0 <0> (ø)
:arrow_down:

web-ui/src/client/app/components/url.jsx
100% <100%> (+100%)
0 <0> (ø)
:arrow_down:

web-ui/src/client/app/containers/url.jsx
94.44% <92.3%> (-5.56%)
0 <0> (ø)

Continue to review full report at Codecov.

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

:+1:

👍


supabase.auth.getUserByCookie no longer there in 2.0

After upgrading to 2.0, the server side function of getting a user from their cookie or by jwt is no longer there.
Our auth middleware (on a custom Node server, not on Nextjs) looks like this
const authHeader = req.get("Authorization") || req.get("authorization") || "";
  const cookies = req.cookies;
  if (!authHeader && !cookies) {
    const customError = new CustomError(400, "General", "Authorization not provided");
    return next(customError);
  }

  const token = authHeader.replace("Bearer ", "").trim();

  const checkUser = (user: User | null) => {
    if (!user) {
      const customError = new CustomError(401, "Raw", "No user in auth check", null);
      return next(customError);
    }
    req.supabaseUser = user;
    tracer.setUser({ id: user.id, auth_provider_id: user.id, email: user.email });
    return next();
  };

  try {
    if (token) {
      const { user, error } = await supabase.auth.api.getUser(token);
      if (error) {
        console.error(error);
        if (!cookies) {
          const customError = new CustomError(401, "Raw", "JWT error from supabase", null, error);
          return next(customError);
        }
      } else {
        return checkUser(user);
      }
    }

    if (cookies) {
      const { user, error } = await supabase.auth.getUserByCookie(req, res);
      if (error) {
        console.error(error);
        const customError = new CustomError(401, "Raw", "Cookie error", null, error);
        return next(customError);
      }
      return checkUser(user);
    }

    // in the case neither auth headers or a cookie was sent
    const customError = new CustomError(401, "Raw", "No valid authentication methods found!", null);
    return next(customError);
  } catch (err) {
    console.error(err);
    const customError = new CustomError(401, "Raw", "JWT error", null, err);
    return next(customError);
  }

@jonluca Came across this same issue when upgrading to 2.0.
Seems the removal of all cookie related methods is a feature not a bug in v2: https://github.com/supabase/gotrue-js/commit/6211cf13a93b088eccc894c6c8d0410eb42d2db4
Supabase guide for Server-Side Rendering seems to have been added a few days ago and provides this example of setting your own cookies for access_token and refresh_token on the client:
supabase.auth.onAuthStateChange((event, session) => {
  if (event === "SIGNED_OUT" || event === "USER_DELETED") {
    // delete cookies on sign out
    const expires = new Date(0).toUTCString();
    document.cookie = `my-access-token=; path=/; expires=${expires}; SameSite=Lax; secure`;
    document.cookie = `my-refresh-token=; path=/; expires=${expires}; SameSite=Lax; secure`;
  } else if (event === "SIGNED_IN" || event === "TOKEN_REFRESHED") {
    const maxAge = 100 * 365 * 24 * 60 * 60; // 100 years, never expires
    document.cookie = `my-access-token=${session.access_token}; path=/; max-age=${maxAge}; SameSite=Lax; secure`;
    document.cookie = `my-refresh-token=${session.refresh_token}; path=/; max-age=${maxAge}; SameSite=Lax; secure`;
  }
})

Presumably, then on the server you could parse the cookie and pass in the access_token jwt to getUser

Gonna close this issue since @LukasMurdock is right!


If one item fails, no others following it are uploaded

In the stream chain:
files.filter(pomFilePredictor).peek(xmlReformer::prepareXmlToDeploy).forEach(mavenDeployer::deployArtifact);
if one prepareXmlToDeploy fails (let's say Null Pointer Exception), the whole stream fails and the rest of the files are not processed.
I've found the following solution:
files.filter(pomFilePredictor).filter(path -> {
   try {
        xmlReformer.prepareXmlToDeploy(path);
        return true;
    } catch (Exception e) {
        logger.error("Error uploading " + path + " : " + e);
        return false;
    }
}).forEach(mavenDeployer::deployArtifact);

I know those streams are pretty to write, but it was not uploading some 50+ assets because the first one had an error in the XML.

#3 fixed with a pull request


[video_player] Upgrade ExoPlayer dependency to 2.9.4

Upgrades the video player plugin to use the latest ExoPlayer version, 2.9.4.

@bparrishMines Are you planning to merge this? ExoPlayer has since released version 2.9.5

Please publish to Pub! @bparrishMines could you do that?

Please publish to Pub! @bparrishMines could you do that?

Published!


Can't connect to server where user sa has no password

Issue Type: Bug
This works in SSMS as shown here:

And the connection is completely functional when completed.
When I try the same connection in ADS:

I get an error:

Details:
System.ArgumentNullException: Value cannot be null. (Parameter 'Password')
   at Microsoft.SqlTools.ServiceLayer.Connection.ConnectionService.CreateConnectionStringBuilder(ConnectionDetails connectionDetails) in D:\a\_work\1\s\src\Microsoft.SqlTools.ServiceLayer\Connection\ConnectionService.cs:line 1354
   at Microsoft.SqlTools.ServiceLayer.Connection.ConnectionService.TryOpenConnection(ConnectionInfo connectionInfo, ConnectParams connectionParams) in D:\a\_work\1\s\src\Microsoft.SqlTools.ServiceLayer\Connection\ConnectionService.cs:line 741

Changing the settings for Remember Password, Encrypt, and Trust Server Certificate has no effect.
Azure Data Studio version: azuredatastudio 1.43.0 (b790d700898b1095d83e62f0de14678a58222520, 2023-04-10T23:14:27.236Z)
OS version: Windows_NT x64 10.0.19045
Restricted Mode: No
Preview Features: Enabled

System Info

Item
Value

CPUs
Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz (4 x 2200)

GPU Status
2d_canvas: unavailable_softwarecanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: disabled_softwaremultiple_raster_threads: enabled_onopengl: disabled_offrasterization: disabled_softwareraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: disabled_softwarevideo_encode: disabled_softwarevulkan: disabled_offwebgl: unavailable_softwarewebgl2: unavailable_softwarewebgpu: disabled_off

Load (avg)
undefined

Memory (System)
16.00GB (4.38GB free)

Process Argv

Screen Reader
no

VM
100%

Extensions (4)

Extension
Author (truncated)
Version

azuredatastudio-postgresql
Mic
0.2.7

query-history
Mic
0.5.3

extra-sql-script-as
pac
0.5.0

vscodeintellicode
Vis
1.2.1

Enabling this would support a very very bad practice.
Why do you need a server with no password?

If there's a desire to make this a more obvious action, include a "□ Confirm No Password" checkbox next to the "Remember Password" one when the password isn't supplied. It still won't pass security if there actually is a password, but will confirm that this isn't the result of an oversight.

I've tried to do a pull request to enable this. Lets see what happens

@jimkilliansentinel This should be addressed by https://github.com/microsoft/sqltoolsservice/pull/2021, would you be able to try out the latest insiders build and see if you run into any issues?

Was able to login successfully to the server with no password. Other servers are working as well.
Thanks!
Jim
Jim Killian | Software Developer
Sentinel Offender Services, LLC
111 Corporate Drive, Suite 125 | Ladera Ranch, CA 92694webextlink://111 Corporate Drive, Suite 125 | Ladera Ranch, CA 92694/
C|<PHONE_NUMBER>
E|<EMAIL_ADDRESS>W| www.sentineladvantage.comhttp://www.sentineladvantage.com/
From: Charles Gagnon @.>
Sent: Wednesday, May 3, 2023 15:27
To: microsoft/azuredatastudio @.>
Cc: Jim Killian @.>; Mention @.>
Subject: Re: [microsoft/azuredatastudio] Can't connect to server where user sa has no password (Issue #22773)
*** WARNING *** This email is not from Sentinel. Do not click links or open attachments unless you recognize the sender, know the content is safe, and the email does not claim to be from Sentinel.
@jimkilliansentinelhttps://github.com/jimkilliansentinel This should be addressed by microsoft/sqltoolsservice#2021https://github.com/microsoft/sqltoolsservice/pull/2021, would you be able to try out the latest insidershttps://github.com/Microsoft/azuredatastudio#try-out-the-latest-insiders-build-from-main build and see if you run into any issues?
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/azuredatastudio/issues/22773#issuecomment-1533832802, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUP4VJUG4OZ2AZI5NPKMUOTXELLUPANCNFSM6AAAAAAXDI5TAY.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Closing as resolved.


.js extension added, even when exists

Hello,
When importing a path already ending with ".js", another ".js" extension is concatenated to the end of the path, which causes the file to not be found.
Omer

Yes, this is by design, but it is being removed as a feature in the next release.

@guybedform, from the other side, when the '.js' concatenation is dropped, could we still use import without specifying an the '.js' extension?
For example:
System.import('index'); // Expecting index.js to be imported

Yes, the release notes will describe fully the different ways of achieving this.

Thanks for the super fast response. Has this feature been removed already?
I am using it like this:
<!DOCTYPE html>
<html>
<head>
  <title>Phoenix</title>
</head>
<body>
  <div id="app">
    Root component mounts here.
  </div>
  <script src="node_modules/babel-core/browser.js"></script>
  <script src="system.js"></script>
  <script type="text/babel">
    System.map['css'] = 'css.js';
    System.transpiler = 'babel';
    System.import('index.css!');
    System.import('index');
  </script>
</body>
</html>

I am getting the following error:

(.js is not concatenated)

How long until next release?  In the mean time, how can it be fixed so that when external packages require('somefile.js'), it doesn't get somefile.js.js?

If installing a package from npm, jspm will ensure this behaves correctly by converting it statically.
A workaround is to set<EMAIL_ADDRESS>= ['*'] which should override the automatic js adding.

I see.  So is my problem because I'm using jspm install for packages only intended for the client?

<EMAIL_ADDRESS>= ['*']

This works beautifully.  Thank you!  Will this be something I'll need to use indefinitely?  Based on what I've read so far, I'm unclear on this.

If the sources are ES6 then at least until the next configuration upgrade allows extensions like this.
If the sources are CommonJS, you can load the project as an npm repo to get the npm conversions with registry: 'npm', jspmNodeConversion: true in the package.json.

I ended up having to do this, due to inconsistent naming conventions within the external package:
<EMAIL_ADDRESS><EMAIL_ADDRESS>

If the sources are CommonJS, you can load the project as an npm repo to get the npm conversions with registry: 'npm', jspmNodeConversion: true in the package.json.

I see.  Thanks.  I'm building some in-browser tools that will allow developers to pull packages from nearly any source on-the-fly, all (or mostly) client-side, so I'm not sure how feasible it would be to rely on the npm conversion.


Rearrange character page stats

Now that the UI is moving to a 4 column layout change the character base/advanced/bonus stats into 3 seperate column UI elements and order to mimic the in-game stats page.

A secondary to this - would be a good time to reintroduce editing only the "Base" (precalculation) part of the stats that many people have been asking for.

With the removal of the stats from the Overview tab and into the Detailed Stats popup this is less of an issue.
But it would still benefit from copying the order from in-game.

Probably be harder to copy from in-game, now there are more dynamic order of the detailed stats on the site.


About RL fine-tuning code release

Hi!
First of all, thanks for sharing those amazing and helpful codebases. I wonder if there is a plan to release the full code of the ICML'23 paper "Tuning computer vision models with task rewards", including the instructions to reproduce the results in the paper.
Thank you :)

@andresusanopinto

Hi @byminji , thanks for your interest. However at the moment we do not have concrete plans to release the full code.


NIMBUS-687 :: Unable to sign with finger on 2-in-1 pc's

Incorporated touch event recognition and modified captureType for signature annotation to accept an array of events.

You did it @haandyha!
Thank you for signing the Anthem Opensource Software CLA.


Added the views for my models

Hello :wave: In this PR I managed to do the following tasks as required in the requirements for this milestone

I Implemented the design from the sneak peek wireframes :heavy_check_mark:
I used Erb, which allows for dynamic content to be generated within an HTML template :heavy_check_mark:
Implemented the index.html.erb and show.html.erb views for the models :heavy_check_mark:
As it is not required in requirements, I didn't do any styling in this step, I just focused on functionalities :heavy_check_mark:

The app is working as expected :100:

Thank you @uwadonat  for approving my PR,  And i'll put into considerations your advice!! ✔


Create guide for using tooltip on Ag-Grid

@AndrejNikolicEq can you evaluate if this doc is stil needed
should be in fusion-docs


Caches GetAllKeys includes tombstone entries

Assuming a cache with no entries, the following will result in the key 1 being returned:

GET /{rule}/1
GET /{rule}

This is because we're not filtering tombstones when returning all keys.

I would argue this either way. The GET /{rule} returns cached keys. In the case a tombstone is cached and will not result in a database lookup. If GET /{rule} returned all keys including ones in the database, then I would agree this is a bug, but I don't think it is that simple.

I think we need to define GET /{rule} to say it only returns keys that are cached that have a corresponding database row when implementing this.

The /{rule} endpoint is a user facing API, whereas tombstones are an internal implementation detail. As a user, if I did the following I would be very confused:

GET /{rule}/1, returns 404
GET /{rule}, returns 200 with ["1"]
GET /{rule}/1, returns 404

IMO GET /{rule} should return all keys that are currently stored in-memory in the cache.

I was confused by this behavior a while back while testing the db-syncer: https://github.com/gingersnap-project/cache-manager/compare/main...jabolina:cache-manager:hr-and-rest-issues. Also, I don't think there is a simple way to find if delete event sent by db-syncer was applied or not, since the REST API returns the tombstone.

IMO GET /{rule} should return all keys that are currently stored in-memory in the cache.
Sure, that is fine. I was just stating we need to explicitly define it as such. Because in ISPN when you do a GET like that it will return even if it is not cached, which is a different behavior.


[question] retrieving records from a '3rd party system'

Hi,
I've been digging through the code and examples  and have a question I still came up bank with. Let me start with what I try to achive:
I am writing a cloud orchestration system (https://github.com/project-fifo) and I currently am trying to allow DNS queries that dynamically resolve to machines created in FiFo. so basically the logic I'm looking for is in pseudo code:
if cahced(query)
then
  cached_reply()
else
  if lookup_in_fifo()
  then
    cache_loopup(),
    reply_result()
  else
     not_found()
  end
end

I've tried to put in a custom handler but I don't find the logic of when those handlers (like the example handler) is called, it seems that a zone entry needs to exist in some way for it even to be called.
So far I've found out that:

a zone file needs to exist with a SOA record so the query isn't shut down right away
the query for a non existing record goes to the erldns_resolver and ends up in resolve_best_match_referral never reaching the custom handlers.

the zone file I tried it with is:
[
    {
        "name": "fifo.cloud",
        "records": [
            {
                "name": "fifo.cloud",
                "type": "SOA",
                "ttl": 3600,
                "data": {
                    "mname": "ns1.fifo.cloud",
                    "rname": "admin.fifo.cloud",
                    "serial":<PHONE_NUMBER>,
                    "refresh": 86400,
                    "retry": 7200,
                    "expire": 604800,
                    "minimum": 300
                }
            },
            {
                "name": "fifo.cloud",
                "type": "A",
                "ttl": 3600,
                "data": {
                    "ip": "<IP_ADDRESS>"
                }
            },
            {
                "name": "fifo.cloud",
                "type": "AAAA",
                "ttl": 3600,
                "data": {
                    "ip": "2001:6A8:0:1:210:4BFF:FE4B:4C61"
                }
            },
            {
                "name": "fifo.cloud",
                "type": "NS",
                "ttl": 3600,
                "data": {
                    "dname": "ns1.fifo.cloud"
                }
            }
        ]
    }
]

and the query I ran is something like:
dig -p8053 @<IP_ADDRESS> my-host.fifo.cloud  a

A custom handler would only be useful if there is a custom type in the zone. For example, we use the custom handlers for ALIAS, URL and POOL record types at DNSimple.
I think what you will likely need to do is to write a specialized storage implementation. You can then register your storage implementation as shown in the example config: https://github.com/aetrion/erl-dns/blob/master/erldns.config.example#L4-L12
All zone lookups go through the zone cache, which delegates to the storage engine for actually looking up the zones and records: https://github.com/aetrion/erl-dns/blob/master/src/erldns_zone_cache.erl

Hi thanks for the quick reply! I really appreciate that, I've looked into the storage implementation but it seems like it only loads data once at boot up and then keeps it cached instead of looking data up on the fly?
What I ended up doing in the short term is implementing a delegation handler [1] that if the cache and config files allows specifying a secondary call to get_records_by_name/1 in a different module.
[1] https://github.com/project-fifo/erl-dns/pull/1

Hi thanks for the quick reply! I really appreciate that, I've looked into the storage implementation but it seems like it only loads data once at boot up and then keeps it cached instead of looking data up on the fly?

It doesn't have to. You could implement the various read methods so they are dynamic. You need to be attentive to your performance requirements though and be aware that any sort of degradation in response from the on-the-fly data lookup could cause DNS lookups to timeout.
In our production systems we have another process which handles updating the zone in memory as changes arrive, which I've found works well to keep the throughput speeds optimal, but that might not work in your situation.

Good advice! I think I'm trying to solve a much smaller problem then you guys, so the speed of a (approx.) riak-get will probably enough for the few dozens queries I'll have to serve.
I've looked at the storage backend today and it seems not to really fit what I try to achieve, it would require implement a lot more then 'needed'.
I'm happy to make a PR to add the delegate functionality I have in my branch but I am not sure if that really fits your goal for erl-dns. I can elaborate a bit on what exactly I did there and why, of if you think it's a bad fit feel free to just close this issue :)
I really appreciate the help and time you took to explain how things work!

Is it in your master or a branch? I can take a look and see if I understand and whether or not it makes sense in the core.

my master is up to date with yours I created a PR against my own master to show the delta https://github.com/project-fifo/erl-dns/pull/1

Weird, I was about to open a ticket about this very issue :).
@Licenser you have a branch that allows for custom handler to be used without requiring an SOA record to exist for the zone first?

Or no... this still only happens after verifying the SOA record for the zone.

Yap it still is after the SOA record, this is however intentional, I didn't want to replace 'the entire thing' just the source of where the records are provided, plus keep the ability to serve other data normally.

Damn, ok, I guess I'll write my own patch :)
To be clear about my "needs", I'm playing around writing a Consul clone to use for tutorials on stuff like releases, deployment, node clustering, etc.. There are multiple interfaces (DNS, HTTP, will have a straight Erlang interface too for this) to access the same data. So I don't want to have to have any real records in erldns, only to have the requests come in, be handed off to a custom handler which checks the common data store and creates the appropriate DNS records to return if they exist.

That is pretty exactly what I'm doing, just that my source of truth is fifo's VM list not services registering. I found keeping the 1 SOA record entry not much of a hassle.

Hm, you might actually be right. Since the top level domain would be part of the configuration, and not dynamically input, it could simply be added when the app is started.

Exactly, I still keep the .json formate since in my use case having to option to add additional records is a plus but it isn't dynamic it's configuration and in some place you need to configure the root domain of the DNS server, can as well include the SOA information there ;)

Cool. Now to convince them to merge your changes in and publish to hex ;)

Package the changes as pull request and assuming it is both clean and will not disrupt normal DNS operations, then I'll merge it in. We operate erldns is a highly-available production environment so I need to make sure any changes do not cause performance degradation or errors, that's all. :wink:

And to be clear, by clean I mean the smallest number of changes to accomplish what you need. If there are a bunch of unrelated changes it's harder for me to review and consider for inclusion in the core.

deal! Thanks mate!

Closing this as answered.


Fix #124 (sonalyze): Skip heartbeat records by default

Technically this is blocked on / fused at the hip with https://github.com/NordicHPC/sonar/issues/107, but though that patch has yet to land it has been live on the ML nodes for a week now, and the present patch has been staged in sonalyze ditto.  No matter what happens with the sonar bug we're going to need this one.  So I'm going to land it anyway.


Converting Binary Tree to doubly Linked list

Hey!! @plazzy99 @rudrakshi99 @nakul-19 @tarun26091999 @raksha009 @shreyanspoddar
I would like to solve this problem in c++.
I assure you that I will write a clear code and properly mention comments in code.
I request you to please assign me this problem.

I can implement this issue in java,c++,python.I am good at data structures and algorithm .Please assign me this issue under GSSOC'2021.

@pallavidhere23 do it in java

Hey , I'm a GSSOC'21 participant . I would like to work on this issue please assign me .

@tarun26091999 @rudrakshi99 @plazzy99 @nakul-19, I would like to contribute to the above problem in CPP. am a GSSoC'21 participant. Kindly assign this to me.


[Bug] In case of wrong URL leading to connection refusal, HTTP 500 is not the correct error. Expose this to the client

For example,
Incorrect URL : numbersapi.com/<IP_ADDRESS>:443 (https://numbersapi.com)
Correct URL : http://numbersapi.com
We should return a proper error message instead of a generic HTTP 500 error from the server.

sir, please assign this to me.

@CH-ND-N Welcome to Appsmith! :tada:
In order to solve this issue, please check the file RestApiPlugin.java to see where the problem is.

ok sir I am on it.

@CH-ND-N Since we haven't seen any updates from you on this issue, I'm unassigning it. I understand that something else would have come up. Whenever you have time, feel free to come back and check out our issues to pick another one.

Closing as this is not an issue any more.


Look into using stakater/Reloader for reloading configuration

https://github.com/stakater/Reloader looks usefull for replacing the configuration job. Needs testing.
We should outline in some docs that this will violate the approach of immutable ConfigMaps and deployments referencing those versioned configs.

It makes much more sense to create an operator, doing this for us. #182


[WIP] Support for url_adaptor live logging

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


Dynamic import is not supported due to acorn

Hi!
It appears that dynamic import, i.e. import(...) is not supported by this loader due to acorn not supporting it. When trying to use dynamic import, the following error is generated:
SyntaxError: Unexpected token (1:6)

To enable dynamic import, two solutions I found is acorn-dynamic-import and acorn-stage3.
Unfortunately, both solutions require version 6.x.x of acorn but currently used version by loader and F7 is 7.x.x.
I have tried forking this loader and implement a fix for this issue but I was unsuccessful.
I was getting stuck at the error:
acorn-private-class-elements does not support mixing different acorn copies

So I decided to leave this bug/message here in case someone else tries to use dynamic import and experience the same issue.

Ok, thanks. Yes, i guess i need to move away from acorn to babel + babylon instead, as anyway we use babel in our projects


Replace class usage with attributes.

Button
  - [ ] fluid
  - [ ] colors (all semantic colors)
  - [ ] size (all semantic sizes)
Image
  - [ ] fluid
  - [ ] rounded
  - [ ] circular
  - [ ] ["top aligned", "middle aligned", "bottom alignded"]
  - [ ] size
  - [ ] centered
  - [ ] bordered
  - [ ]

This has now been reverted.  We will be handling Semantic UI classes as classes in the grand majority of cases.  See the Component Guidelines for specifics.


Cluster resource with dynamic blocks validation failed

Example
resource "kops_cluster" "default" {

...

  dynamic "subnet" {
    for_each = local.private_subnets
    content {
      name  = subnet.value["name"]
      cidr     = subnet.value["cidr"]
      zone   = subnet.value["zone"]
      type    = "Private"
    }
  }

...

  etcd_cluster {
    name = "main"

    dynamic "member" {
      for_each = kops_instance_group.master
      content {
        name                    = element(reverse(split("", member.value.name)), 0)
        instance_group   = member.value.name
      }
    }
  }
...

The same issue was in AWS provider https://github.com/hashicorp/terraform/issues/22195

Not sure about the root cause here but i do something similar and it works fine:
  dynamic "subnet" {
    for_each = var.subnets
    content {
      name        = subnet.value.type == "Private" ? subnet.value.zone : "utility-${subnet.value.zone}"
      type        = subnet.value.type
      zone        = subnet.value.zone
      provider_id = subnet.value.id
    }
  }

  etcd_cluster {
    name            = "main"
    enable_etcd_tls = true

    dynamic "member" {
      for_each = local.privateSubnets
      content {
        name             = member.value.zone
        instance_group   = "master-${member.value.zone}"
        volume_size      = var.etcd.main.size
        encrypted_volume = true
      }
    }

    manager {
      env {
        name  = "ETCD_LISTEN_METRICS_URLS"
        value = "http://<IP_ADDRESS>:2379"
      }
      env {
        name  = "ETCD_METRICS"
        value = "basic"
      }
      dynamic "env" {
        for_each = var.etcd.main.quotaBackendBytes != null ? [1] : []
        content {
          name  = "ETCD_QUOTA_BACKEND_BYTES"
          value = var.etcd.main.quotaBackendBytes
        }
      }
      dynamic "env" {
        for_each = var.etcd.main.hourlyBackupsRetention != null ? [1] : []
        content {
          name  = "ETCD_MANAGER_HOURLY_BACKUPS_RETENTION"
          value = var.etcd.main.hourlyBackupsRetention
        }
      }
      dynamic "env" {
        for_each = var.etcd.main.dailyBackupsRetention != null ? [1] : []
        content {
          name  = "ETCD_MANAGER_DAILY_BACKUPS_RETENTION"
          value = var.etcd.main.dailyBackupsRetention
        }
      }
    }
  }

Not sure about the root cause here but i do something similar and it works fine:
  dynamic "subnet" {
    for_each = var.subnets
    content {
      name        = subnet.value.type == "Private" ? subnet.value.zone : "utility-${subnet.value.zone}"
      type        = subnet.value.type
      zone        = subnet.value.zone
      provider_id = subnet.value.id
    }
  }

  etcd_cluster {
    name            = "main"
    enable_etcd_tls = true

    dynamic "member" {
      for_each = local.privateSubnets
      content {
        name             = member.value.zone
        instance_group   = "master-${member.value.zone}"
        volume_size      = var.etcd.main.size
        encrypted_volume = true
      }
    }

    manager {
      env {
        name  = "ETCD_LISTEN_METRICS_URLS"
        value = "http://<IP_ADDRESS>:2379"
      }
      env {
        name  = "ETCD_METRICS"
        value = "basic"
      }
      dynamic "env" {
        for_each = var.etcd.main.quotaBackendBytes != null ? [1] : []
        content {
          name  = "ETCD_QUOTA_BACKEND_BYTES"
          value = var.etcd.main.quotaBackendBytes
        }
      }
      dynamic "env" {
        for_each = var.etcd.main.hourlyBackupsRetention != null ? [1] : []
        content {
          name  = "ETCD_MANAGER_HOURLY_BACKUPS_RETENTION"
          value = var.etcd.main.hourlyBackupsRetention
        }
      }
      dynamic "env" {
        for_each = var.etcd.main.dailyBackupsRetention != null ? [1] : []
        content {
          name  = "ETCD_MANAGER_DAILY_BACKUPS_RETENTION"
          value = var.etcd.main.dailyBackupsRetention
        }
      }
    }
  }

Are you referencing an instance group from your cluster definition ? I don't think it is possible, the cluster should exist before the instance group resources.

@eddycharly sorry. My fault.
I had an error in my code. There is no bug described here.

Thanks for your feedback !


Schema should be serialized as ECXml 3.2 if ECXml 3.1 fails due to incorrect KoQ

We have instances where there are ECXml 3.1 schemas that have KoQs using ECXml 3.2 units as their persistence units.
When these schemas are exported (serialized to a file/xml string), we get a failure as the 3.1 logic only looks at the legacy unit mappings and not the referenced ECXml 3.2 Units and Formats schemas.
With this change, if serializing an ECXml 3.1 schema to a XML string/file fails due to an incorrect KoQ, we will retry serializing the schema as ECXml 3.2.

Is there something in export-schema-test.bim that cannot be created by the test at run-time, making it necessary to add a large binary file to the repo?

Maybe it's possible to create programmatically by constructing a new schema and setting the ECVersion in the constructor to 3.1.  That will set the original xml version, you can then update to 3.2 using SetECVersion and add the unit.


Potential bug: drop_duplicates() and duplicated() fail for multiple integer columns

It seems that drop_duplicates() and duplicated() methods are not working properly for large integer columns. Here is my example data frame http://pastebin.com/KVHxUpgz
import pandas as pd

pd.read_clipboard(delimiter=',')
r = x.duplicated(keep=False)
print(x[r])

This gives me:
x1       x2
8<PHONE_NUMBER>1  8470207
95<PHONE_NUMBER>9  8470039
Clearly these are not duplicates but seems like pandas thinks they are!
Also drop_duplicates() seems to fail:
print(len(x),len(x.drop_duplicates()))

gives: 101 100
When I convert my columns to string they are not duplicates anymore:
r1 = x.apply(lambda x: '%d-%d' % tuple(x),axis=1).duplicated()
print(r1.sum())

is 0 as it should.
Here is the versions:
pd.show_versions()
INSTALLED VERSIONS
commit: None
python: 3.4.3.final.0
python-bits: 64
OS: Windows
OS-release: 7
machine: AMD64
processor: Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
byteorder: little
LC_ALL: None
LANG: fi_FI
pandas: 0.17.0
nose: None
pip: 7.1.2
setuptools: 18.4
Cython: 0.23.4
numpy: 1.10.1
scipy: 0.16.0
statsmodels: None
IPython: 4.0.0
sphinx: 1.3.1
patsy: 0.4.0
dateutil: 2.4.2
pytz: 2015.6
blosc: None
bottleneck: 1.0.0
tables: 3.2.2
numexpr: 2.4.4
matplotlib: 1.4.3
openpyxl: 2.2.6
xlrd: 0.9.4
xlwt: 1.0.0
xlsxwriter: 0.7.7
lxml: 3.4.4
bs4: 4.4.1
html5lib: 0.999
httplib2: None
apiclient: None
sqlalchemy: 1.0.9
pymysql: None
psycopg2: None

thanks for the report, a dupe of: https://github.com/pydata/pandas/issues/11376
this was already fixed here: https://github.com/pydata/pandas/pull/11403
and will be in forthcoming 0.17.1 (it's in master now)

Thanks!


Keras Reshape layers are not folded when converted to TFLite

1. System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): macOS 11, Ubuntu 20.04
TensorFlow installation (pip package or built from source): pip package
TensorFlow library (version, if pip package or github SHA, if built from source): 2.5.0, tf-nightly

2. Code
Keras Reshape layers are not correctly constant folded when converted to TFLite.
Consider the following two models which either use tf.keras.layers.Reshape((50, 2))(x)  or tf.reshape(x, (-1, 50, 2)) to reshape tensors. The Keras layer here is equivalent to  calling tf.reshape(x, (tf.shape(x)[0], 50, 2)) which unfortunately doesn't get fused due to a dynamic batch dimension.
This can be worked around by manually setting the Keras model batch size to 1, but I think this should be handled by the converter instead so that the default Keras reshape layer also gets converted to an efficient reshape op.
import tensorflow as tf

def unfused_model():
    img = tf.keras.layers.Input(shape=(3, 3, 10))
    x = tf.keras.layers.Conv2D(100, (3, 3))(img)
    x = tf.keras.layers.Reshape((50, 2))(x)
    return tf.keras.Model(img, x)

def fused_model():
    img = tf.keras.layers.Input(shape=(3, 3, 10))
    x = tf.keras.layers.Conv2D(100, (3, 3))(img)
    x = tf.reshape(x, (-1, 50, 2))
    return tf.keras.Model(img, x)

def convert_model(model, filename):
    converter = tf.lite.TFLiteConverter.from_keras_model(model)
    converter.optimizations = [tf.lite.Optimize.DEFAULT]
    with open(filename, "wb") as f:
        f.write(converter.convert())

convert_model(unfused_model(), "/tmp/unfused_model.tflite")
convert_model(fused_model(), "/tmp/fused_model.tflite")

unfused_model.tflite
fused_model.tflite

3. Possible Solution
I think it would be possible to implement a tfl.reshape constant folder even for the dynamic batch size case that checks if only one dimension of the reshape is dynamic and replaces this with -1. However, this would opt out of possible shape error checking in cases the reshape would be invalid. On the other hand from looking at the netron graph it seems like the batch dimension is fixed to 1 anyway, so I am not sure why the reshape didn't get folded correctly in the first place, but let me know if I am missing something.

Thanks for filing up the feature request. Also, we are welcoming the community contribution in TensorFlow Lite MLIR converter regarding this feature request.

Also, we are welcoming the community contribution in TensorFlow Lite MLIR converter regarding this feature request.

I am not sure if I would consider this as feature request, to me it seems more like a bug in the fusion rules which people tend to run into when using e.g. the Keras application MobileNets (see https://github.com/tensorflow/tensorflow/issues/45256#issuecomment-737985193).
Keras Reshape layers used to be converted correctly in TensorFlow version 2.2 with the MLIR graphdef converter since the batch size was always set to one before passing it into the MLIR converter:
https://github.com/tensorflow/tensorflow/blob/691563cb3e9c0d46058e2a7b8d270bc29a0dfe19/tensorflow/lite/python/lite.py#L824-L827
@abattery in the current converter it still looks like the batch size is fixed to one at some point when looking at the tflite flatbuffer (although I am not sure where this happens), or is it intended that the batch size stays dynamic? If so could you comment on the proposed solution I outlined above, since I am not 100% sure what the desired behaviour in case of dynamic dimension would be here.

I have to say that this problem stil exist in the latest version of tensorflow (colab 2.7.0)
It prevents me from generating a working model on the Arduino 33 ble.
This is a serious problem because we cannot even run this official demo

The solution should be resolved by setting Keras batch_size to 1. As this issue has a workaround and doesn't block major workflows, it will be marked as closed.


Integration with Atlassian JIRA

## Feature Request
Could you please build an integration to Atlassian JIRA?

If you want to contribute, feel free to reopen it
Otherwise I plan to rewrite everything with starlette.io


Presidio improve structured analysis

Closes #2

Initial approach involved copying code for presidio_structured package, but it seems to reuse presidio_analyzer package processing anyway. Because of that, the copied version of presidio_structured cannot process objects within lists. Maybe the unpublished version in the upstream repository relies on some unpublished changes within presidio_analyzer package.
Instead going to try the approach of converting lists into dicts with int or numbers as string keys.


how to fetch consumer offset through sarama

I know that with OffsetManage we can store/retrieve offsets on the kafka brokers, but how can I decide which broker to be connected?
follow the doc:
https://cwiki.apache.org/confluence/display/KAFKA/Committing+and+fetching+consumer+offsets+in+Kafka

It is how to achieve step 1 (to discover which broker keep the metadata of consumer) with sarama

You can use the Coordinator method on the Client if you want, but generally you shouldn't have to: the OffsetManager will connect to the appropriate broker automatically.


[WIP] New Qiskit device prototype

This is a work in progress. This pull request aims to create a new Qiskit device that uses the new device API in Pennylane. The goal is to be compatible with Qiskit 1.0 and backwards compatible with Qiskit 0.45

Need to update the Plugin Test Matrix before merge.

Need to update demos for when upgraded to Qiskit >1.0


Add blackhole to assets

I'm unable to make changes to your branch--what I wanted to do was upload new images (the SVG would have a square aspect ratio, and the PNG would have transparency in the negative space beyond the circle).

Hey Jeremy,
Thanks for the help. I just invited you as a collaborator to my fork so you should have access now.

@JeremyParish69 Hey Jeremy, we wanted to change the total supply of our token from 100M to 500M. Do we need to create a new contract for that?


Mount snapshots on Windows (Isolated PR)

This is a rebase of #4419 to master, isolating it from #4415 and antecedants (#4399 and #4395). Original description follows:
Full credit to @darstahl and @crosbymichael, on whose shoulders I stood to implement this, as well as any other contributors to #2366 and #2287.
This reimplements the bare-minimum of #2366 to support Mount and Unmount under Windows, with the following approach:

A snapshot without a parent is a bind mount, exposed via symlink. We can't make these read-only usefully, AFAIK.
A snapshot with a parent is a windows-layer mount, exposed by HCS as a volume and mounted from there. We support read-only mounts by creating a temporary scratch layer on top of the desired read-only layer. So you can write to the mount, but it won't affect the underlying data.

In order to unmount a windows-layer without access to the original []mount.Mount, we store the original layer path in an Alternative Data Stream on the mount-point. Happily, we do not require the parents list to tear down the stack.
It's a shame, really. If HCS exposed an inverse for hcsshim.GetLayerMountPath, then we wouldn't need the ADS storage, as Windows exposes an API to get the Volume back from a Volume mount, and that would let me find the Layer in-question.
I haven't brought in the tests from #2366 yet, or really tested this beyond ctr image mount and hammering on it with BuildKit to make progress towards https://github.com/moby/buildkit/issues/616. I'm looking for directional feedback on this (and the whole stack, really) before I start trying to wrangle the tests into place.

Note that I have not tested this rebase in isolation, it's a fallback measure in case issues are found with the other PRs, and so I can get a CI run to triage https://github.com/containerd/containerd/pull/4419#issuecomment-663163435
See also https://github.com/containerd/containerd/pull/4419#issuecomment-663825861 and https://github.com/containerd/containerd/pull/4419#discussion_r460777271 which are applicable here.

CGroups failure is nothing to do with my changes; the vagrant image can't resolve DNS:
    default: ++ ./script/setup/install-cni
    default: # cd .; git clone -- https://github.com/containernetworking/plugins /root/go/src/github.com/containernetworking/plugins
    default: Cloning into '/root/go/src/github.com/containernetworking/plugins'...
    default: fatal: unable to access 'https://github.com/containernetworking/plugins/': Could not resolve host: github.com
    default: package github.com/containernetworking/plugins/...: exit status 128

Anything further on this will be part of #4419, this draft has served its purpose.