Change "plugins" to "extensions" for VS Code

VS Code always uses the term "extensions" and not "plugins" so it looked slightly odd seeing "plugins" in the analytics prompt.
I only updated the description because I wasn't sure of the implications of changing "label" (particularly if the beta is already using the old value). As far as I can tell, although it's named "label" it's not user-facing?
FYI @eliasyishak @bwilkerson

We can't do this without a PDD revision.

Ah, my understanding was that the names of the tools were prescribed. As an outsider I'm unfamiliar with this process so if accepting this is not trivial, it's not a big deal.
(FWIW I'm not sure either description does a great job of conveying that the analytics are part of the Dart/Flutter tooling and separate to the VS Code extension, but I suspect changing that would be more complicated than this tweak)

(in hindsight, I'd probably have also suggested dropping "IDE", since VS Code tends to prefer to call itself an "editor", but just "VS Code extensions" probably reads better than either 🤔)

@DanTup There are definitely some changes we could make, I closed the PR because I was still in the mindset of "must make everything compliant before 3.0 cut" and used too big of a hammer.   To be clear I don't think this change is without merit, we just can't land it without some process.

@DanTup seeing your note about dropping IDE, is the following good?
VS Code extensions for Dart and Flutter? I can make the request to update our privacy doc

@eliasyishak yep, that would be better IMO. Although I think strictly it would be more accurate to refer to "The dart and flutter tools used by the VS Code extensions", since the extensions are their own thing and also have analytics (sent to me, not Google).
To avoid some confusion, I'm peeking in the .dart-tool/dart-flutter-telemetry.config file for ^reporting=0 and disabling the Dart-Code extension analytics too. It's not ideal to code knowledge about your file into the extension, but I think given the current text, users will (reasonably) assume that dart --disable-analytics will disable analytics for "The Dart & Flutter VS Code extensions".

One note about the config file is that you only need to get check for a line that matches exactly as reporting=0
I'll let you know as the updates to the privacy document are made


fix: Pop QR scanner from stack after succesfull scan to avoid returni…

…ng to it later.

qrstackreplace is alternative solution

Closed with alternative solution #68


MIPROv2: Error getting source code: unhashable type: 'list'.

I'm running MIPROv2 using v2.4.14 and v2.4.16 showing the same thing when running (no problem getting stuck), I'm wondering if this is something to watch for as I'm not sure if it is okay to ignore it:
Sample Code
lm = dspy.OpenAI(
    model="deepseek-chat",
    model_type="chat",
    api_key=os.environ["DEEPSEEK_API_KEY"],
    base_url=os.environ["DEEPSEEK_BASE_URL"],
    system_prompt=system_prompt,
    temperature=1.0,
    top_p=1.0,
    max_tokens=4096
)
dspy.settings.configure(lm=lm, experimental=True)

model = EntityRelationshipExtractor()
optimizer = MIPROv2(
    prompt_model=lm,
    task_model=lm,
    metric=entity_recall_metric,
    init_temperature=1.0,
    num_candidates=4,
    verbose=True
)
kwargs = dict(num_threads=os.cpu_count(), display_progress=True, display_table=0)
miprov2_model = optimizer.compile(
    model,
    trainset=trainset,
    valset=valset,
    requires_permission_to_run=False,
    num_batches=10,
    max_labeled_demos=5,
    max_bootstrapped_demos=3,
    eval_kwargs=kwargs
)

Logs:
WARNING: Projected Language Model (LM) Calls

Please be advised that based on the parameters you have set, the maximum number of LM calls is projected as follows:

- Prompt Model: 10 data summarizer calls + 4 * 2 lm calls in program + (3) lm calls in program aware proposer = 21 prompt model calls
- Task Model: 25 examples in minibatch * 10 batches + 20 examples in train set * 1 full evals = 270 task model calls

Estimated Cost Calculation:

Total Cost = (Number of calls to task model * (Avg Input Token Length per Call * Task Model Price per Input Token + Avg Output Token Length per Call * Task Model Price per Output Token)
            + (Number of calls to prompt model * (Avg Input Token Length per Call * Task Prompt Price per Input Token + Avg Output Token Length per Call * Prompt Model Price per Output Token).

For a preliminary estimate of potential costs, we recommend you perform your own calculations based on the task
and prompt models you intend to use. If the projected costs exceed your budget or expectations, you may consider:

- Reducing the number of trials (`num_batches`), the size of the trainset, or the number of LM calls in your program.
- Using a cheaper task model to optimize the prompt.
Error getting source code: unhashable type: 'list'.

Running without program aware proposer.
b: 10
summary: Prediction(
    summary="The dataset consists primarily of news articles from CNN, covering diverse topics such as sports, politics, health, and social issues, with a strong emphasis on entity-rich content and complex relationships. Temporal and geographical contexts are frequently included, and the articles are concise and informative, reflecting CNN's journalistic style."
)
DATA SUMMARY: The dataset consists primarily of news articles from CNN, covering diverse topics such as sports, politics, health, and social issues, with a strong emphasis on entity-rich content and complex relationships. Temporal and geographical contexts are frequently included, and the articles are concise and informative, reflecting CNN's journalistic style.
  0%|                                                                                | 0/20 [00:00<?, ?it/s]

Seems to be coming from the dspy.Module, evaluation doesn't raise any issue but will fail with MIPROv2 once examples have been augmented. Closing this issue.


moving spots not showing when enabling proguard

When we enable the pro guard (to shrink code files and resources),  the moving spots or dots disappears. No animation, only dialog with message is showing. Attached a screenshot as well, any help will be much appreciated.

Please, add next lines to your proguard config file:
-keep class dmax.dialog.** {
    *;
}


[Feature Request] FOV as in the arcade SDX version?

So, i decided to watch some comparison videos for OR2 between the SDX version and C2C... and one of the comments caught my attention:
https://www.youtube.com/watch?v=oJVsCrpmV7w
"I wonder if its possible to make C2C's FOV like in SPDX? I like how in the original arcade version the car is more 'zoomed'."
Any thoughts on this?

I might be blind, but they seem to have the same FOV. What's different is the angle of the camera (arcade is lower), which gives a more zoomed in feeling.


⚠ Bofrost.at has degraded performance

In 6fc2ac7, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2106 ms

Resolved: Bofrost.at performance has improved in cef04d6 after 6 minutes.


Extend edit series block

Adds new series block configurable default values.

Extend video list order with the A-Z and Z-A options.
Add video list view options (List, Gallery, Slider)

Thanks for the PR! I don't have time to look at it in detail yet, but this feature seems reasonable! And you can ignore the failing "admin UI check" for now, that's likely a temporary failure and not caused by your PR. Will come back to this PR soon (TM).

FYI: we will merge another PR that will cause some conflict with this one soon, so probably not worth it starting to resolve conflicts now. We did that because we wanted to include a bunch of stuff in a small release very soon, while yours would be in the release afterwards. If you want, we can resolve the conflicts for you, just let me know.

I changed the CSS of the edit series form because the 400px max width wasn't enough to display all options. This is maybe a controversial change (https://github.com/elan-ev/tobira/pull/1058/commits/9ab900bca443e7a255f46acf42edf8f41dd14b2e)

Sorry, your PR is next, I promise :see_no_evil:


Editor removes existing font size

So, I am building an application in which i get html string from server. html example:
Example text

When i give this html string to QuillEditor as initialHTML. and make changes to the style but not the size of text property. Then also the editor remove the font-size:24px property.
html string after removing t from example text:
Example tex

What should I do, so that editor does not remove the font-size property

Any lucky?


chore: Remove error duplicates and standarize exceptions (part 1)

Types of changes

[ ] Hot fix (emergency fix and release)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Documentation (change which affects the documentation site)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Release (develop -> main)

Quality assurance (all should be covered).

[x] My code follows the code style of this project.
[ ] Documentation for my change is up to date?
[x] My PR meets testing requirements.
[x] All new and existing tests passed.
[x] All commits are signed-off.

Summary
This is a sample of the proposed structure to follow in the project when it comes to the exception handling and logging. The aim of the change is to remove the error duplicates and use appropriate logger level for logger messages.
The proposal consists of several parts:
Logger level standardisation:
When to use which logging level:

Info (logger.info): Provide information on successful execution. Confirm that things are working as expected.
Warning (logger.warning): Issue a warning to the user that there is a problem that can lead to some issues or bugs. However, the problem does not halt the execution and operation proceeds.
Error (logger.error): Indicates to a user that there is critical problem and execution cannot proceed. Such problem must end the execution and exit with appropriate code.

Exception handling and logging

Logger.error is no longer allowed anywhere but in the most outer level.
Logger.warning and Logger.info allowed anywhere but the execution after logger.warning must proceed.
Traceback will only be printed if command is executed in the verbose mode.
Error exit codes are determined by exception handler in outer most level based on the exception type.
Handling of inner exceptions - the inner exceptions should not be caught unless there is need to provide more information to the user on what went wrong. In this case, an appropriate instance of TrestleError should be raised.
Example:

except SomeException as e:
    raise TrestleError(f'Something went wrong during SSP generation: {e}')

Each _run() function should be wrapped in try-except block.
The outer most exception should be handled via handle_generic_command_exception with custom message and its output should be returned by _run()
Raise exception rather than return command code manually.

Key links:

Sonar coverage

Before you merge

Ensure it is a 'squash commit' if not a release.
Ensure CI is currently passing
Check sonar. If you are working for a fork a maintainer will reach out, if required.

Looks good.  Note there is also the trace.log() mechanism for things intended only in -vv mode (extra verbose)
Should the generic handler be returned in the exceptions or raised?  You show them being returned.

@fsuits this is a first part of the error messaging refactoring, the rest will come later as it already creates lots of merge conflicts. Please review when have a chance


Acquire GAIA DR3 photometry data

Get the raw data to test importing into hipscat. Ideally on epyc.

We do have a link to download the data, and the data should be on epyc as well (as stated by Eric B).


Support pickle output of numpy arrays for endpoints.

The region, thumbnail, and tile_frames endpoints can returned pickled numpy arrays.
This facilitates getting numpy data from a tile source through Girder Client.  For instance, numpyarray = pickle.loads(gc.get('item/5c3e0590e45e326a5e2fb252/tiles/region', parameters={'encoding': 'pickle:' + str(pickle.HIGHEST_PROTOCOL), 'width': 2000}, jsonResp=False).content) would fetch a numpy array as efficiently as possible.  The protocol will be the lower of that specified in the request and the maximum for the python version of the server.  Just using 'pickle' will use protocol 4, which will work with any supported version of Python 3 -- specifying an explicit number is more efficient and adapts to clients using a Python version not otherwise supported.

@banesullivan An equivalent endpoint or endpoint option would be useful for the django implementation -- it makes it much more convenient to process data in a Jupyter notebook when the data isn't local.


Specify license

Description
Please include a summary of the changes.
Fixes # (issue)
Instructions for Reviewer
In order to test the code in this PR you need to ...
Please pay special attention to ...
Checklist:

[ ] I have refactored my code out from notebooks/
[ ] I have checked the code runs
[ ] I have tested the code
[ ] I have run pre-commit and addressed any issues not automatically fixed
[ ] I have merged any new changes from dev
[ ] I have documented the code

[ ] Major functions have docstrings
[ ] Appropriate information has been added to READMEs

[ ] I have explained this PR above
[ ] I have requested a code review

@india-kerle I'm going to merge this for Jyl (see email). It's just copied from ojd_daps_mirror - hopefully its ok!


Build library with Async Await syntax without polyfill

I ever create Async method with async/await syntax but when i build for my nodejs project it require polyfill thing.
class MyLibrary {
  ...
  // Sync method - that i use right now
  register(cb) {
    let someVariable = cb();
    return someVariable;
  }
  // Async method - that i want implement
  async register(cb) {
    let someVariable = await cb();
    return someVariable;
  }
  ...
}

Do you have any best practice to make async method with async/await syntax ?

@ilomon10 Are you using the latest version of the repo? This pattern is working for me:
myArrowMethod = async () => {
    const isResolved = await this.myAsyncRequest();
    console.log("isResolved", isResolved);
}

myAsyncRequest = () => {
    return new Promise(resolve => {
        setTimeout(() => resolve(true), 3000);
    });
}

If so, please feel free to share the full error - thanks!


Shipping to Vcpkg; Investigate what's needed to ship to Vcpkg

Reach out to someone on Vcpkg to get an idea of the SLA
Prototype a release in a fork of Vcpkg and validate that installation from the forked Vcpkg works properly
Open a Draft PR against Vcpkg repo and ensure that CI passes

Other questions:

What name do we want the package to have on Vcpkg?
Versioning policy for C?
Copy for Description
Documentation publishing?
Do we want to support build systems other than cmake for this version?

Considerations:

Building tests/docs/examples should not be enabled by default (Vcpkg docs)

Embedded C is not using vcpkg


Add streaming iterator to cursor

See discussion here: #47

See discussion here: https://github.com/uber/vertica-python/issues/47

please be aware that this iterator will not stream data. Instead, it will fetch all data into memory and allow for iteration over that set. this would be similar to calling execute() followed by looping over fetchone(). was this your intention?

Oops. So does execute() fetch all data into memory?
I was under the impression that it didn't and that buffered_rows was a streaming buffer.

sadly it currently doesnt. execute will either fetch everything into memory (buffered_rows), or use the callback function after each row fetch.


Upgrade Linux Kernel for main from 6.6.21 to 6.6.27

Subject says it all.

See instead https://github.com/flatcar/scripts/pull/1931


AsyncComponent can't be mounted

Hello I encountered an issue when using asyncComponents the mount seems to fail.
For my Icons Component, I use a base class that used asyncComponents to lazy load the iconname.vue files which consists only out of a template containing some props to change the color and size of the svg code part.
When trying to test my components by using mount it does not mount the asyncComponent in this case the iconname.vue file. Visually everything works as expected without any problems. But the wrapper returns following
VueWrapper {
  wrapperElement: Comment {},
  __app: null,
  rootVM: {},
  componentVM: {
    iconName: [Getter/Setter],
    size: [Getter/Setter],
    iconColor: [Getter/Setter],
    animation: [Getter/Setter],
    getIconComponent: [Getter/Setter],
    hasOwnProperty: [Function (anonymous)]
  },
  __setProps: undefined
}

The mounted part looks like that:

My Vue File which import a svg template.
<template>
     <component :is="getComponent" />
</template>

describe("Icons", () => {
  global.SVGElement = Element;
  let wrapper;
  describe("passing props should override deaulf icon props", () => {
    beforeEach(async () => {
      (document.body.innerHTML = `<div id="target"></div>`),
        (wrapper = mount(Icon, {
          propsData: {
            element: "appartment",
          },
          attachTo: document.getElementById("target"),
        }));
    });
    it("check if its mounted", () => {
      console.log("1:" + document.body.innerHTML);
      console.log(wrapper.findComponent(Icon)); // returns [Object: null prototype] {}
      console.log(wrapper.findComponent(Appartment)); // returns [Object: null prototype] {}
    });

Dependencies:
-"@vue/cli-plugin-unit-mocha": "~4.5.0"
-"chai": "^4.1.2"
-"@vue/test-utils": "^2.0.0-rc.6",
I am not sure if it's a bug or I am doing it wrong.
Thanks for helping me.
Kind regards

Have you tried calling await flushPromises() before wrapper.findComponent? As the resolution is async, I wouldn't be surprised that you need to wait for it before checking your template.
See https://next.vue-test-utils.vuejs.org/guide/advanced/async-suspense.html for more info
If that doesn't help, maybe it's an issue. It would be ideal if you could provide a simplified repro, either as a github repo or, even better, by adding a failing unit test to this project (the simpler, the better).

@cexbrayat Thank you for the quick reply using await flushPromises() did not solve it for me.
Here a quick replication repo https://github.com/m-barrera/vue-test-asynComponent-issue.
I am still unsure if it is an issue or just me doing something wrong.
Kind regards

This is an issue in your configuration or code base.
I pasted your exact code into this code base and it worked as expected. Here's the branch: https://github.com/vuejs/vue-test-utils-next/compare/repro-627?expand=1
Happy to help explore the problem in your code base more, but I don't think this is a bug, so I will close this one for now. I'll take a closer look at your code base in the meantime.

I keep getting
 Icons
    test async
[Vue warn]: Unhandled error during execution of async component loader
  at <AsyncComponentWrapper>
  at <Icon element="circle" ref="VTU_COMPONENT" >
  at <VTUROOT>
(node:41068) UnhandledPromiseRejectionWarning: Error: Cannot find module './circle.vue'
    at webpackEmptyContext (/Users/lachlan/code/dump/repros/vue-test-asyncComponent-issue/dist/js/webpack:/src/components sync:2:1)

I guess the async import is not working for... some reason 🤔

I tried a bunch of things but I could not get an import with string interpolation to work with mocha + webpack. I think there should be some way to do this, I am not sure what it is. I'd like to know.

Hi first of all thank you for your investigation.  I just tested the repo I prepared and
yes you are right this error occurs but strangely only in this repo. In the main repo it does
not complain about not finding the vue file. The only diffrence in the main repo are storybook and our vue.config.js which only handles automatic imports for scss files.
  chainWebpack: (config) => {
    if (process.env.NODE_ENV === 'test') {
      const scssRule = config.module.rule('scss')
      scssRule.uses.clear();
      scssRule
        .use('null-loader')
        .loader('null-loader')
    }
  },
  css: {
    loaderOptions: {
      scss: {
        additionalData: `
          @import<EMAIL_ADDRESS>          @import<EMAIL_ADDRESS>          @import<EMAIL_ADDRESS>        `
      }
    }
  }
};

I would like to stick to mocha & chai but. I allready tried diffrent solutions.
This is the output which is generated when running the tests inside the main repo.
  Icons
    passing props should override deaulf icon props
1:

      1) has correct iconName
[Vue warn]: Unhandled error during execution of async component loader
  at <AsyncComponentWrapper iconName="appartment" size=32 iconColor="rgb(193, 21, 57)"  ... >
  at <Icon iconName="appartment" iconSize=32 iconColor="rgb(193, 21, 57)"  ... >
  at <VTUROOT>
      2) has correct iconSize
[Vue warn]: Unhandled error during execution of async component loader
  at <AsyncComponentWrapper iconName="appartment" size=32 iconColor="rgb(193, 21, 57)"  ... >
  at <Icon iconName="appartment" iconSize=32 iconColor="rgb(193, 21, 57)"  ... >
  at <VTUROOT>
      3) has correct iconColor
[Vue warn]: Unhandled error during execution of async component loader
  at <AsyncComponentWrapper iconName="appartment" size=32 iconColor="rgb(193, 21, 57)"  ... >
  at <Icon iconName="appartment" iconSize=32 iconColor="rgb(193, 21, 57)"  ... >
  at <VTUROOT>
      4) has correct animation
[Vue warn]: Unhandled error during execution of async component loader
  at <AsyncComponentWrapper iconName="appartment" size=32 iconColor="rgb(193, 21, 57)"  ... >
  at <Icon iconName="appartment" iconSize=32 iconColor="rgb(193, 21, 57)"  ... >
  at <VTUROOT>

  0 passing (346ms)
  4 failing

Does this happen in a Vue CLI project out of the box?
I'll research this a bit more when I have time. It's definitely a config issue - not a Test Utils specific one - but it's not entirely clear how to solve it. Mocha and chai is pretty good, I'd like to have this working for that combination of libraries.


chore: Add example charts for deck.gl

SUMMARY
Adding chart examples for Deck.gl:

Multiple Layer
Arc
Grid
Hexagon
Path
Polygon
Scatterplot
Screen Grid

SCREENSHOT

TESTING INSTRUCTIONS

ADDITIONAL INFORMATION

[x] Has associated issue: Partially solves #16707
[ ] Required feature flags:
[x] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

@Willie-The-Lord thanks for adding examples to help improve the UX. I've requested review from some frontend engineers.

/testenv up

Could you add examples for deck.gl Geojson, deck.gl Heatmap and deck.gl Countour? Then all deck.gl charts will have associated examples.

Could you add examples for deck.gl Geojson, deck.gl Heatmap and deck.gl Countour? Then all deck.gl charts will have associated examples.

No problem. I'll go ahead and create the examples. Thank you for bringing this to my attention!

Hi @michael-s-molina, I've added deck.gl geojson, deck.gl heatmap and deck.gl contour example images. Also, I notice that it should be Contour instead of Countour here. Should I raise an issue to address this separately? Thanks!

Also, I notice that it should be Contour instead of Countour here. Should I raise an issue to address this separately?

If you can fix this in this PR it would be great.

@michael-s-molina Typo fix.


Failed tests

Following tests are failed during building the project:
org.springframework.cloud.stream.binder.PartitionCapableBinderTests#testAnonymousGroup
org.springframework.cloud.stream.binder.AbstractBinderTests#testSendAndReceiveMultipleTopics

What interesting is that i have only one failed test PartitionCapableBinderTests.testAnonymousGroup  on second run.

And on third run i see new failed tests.
[ERROR] Failures:
[ERROR]   PartitionCapableBinderIT>AbstractBinderTests.testSendAndReceiveMultipleTopics:272
Expecting actual not to be null
[ERROR]   PartitionCapableBinderIT>AbstractBinderTests.testSendJsonReceivePojoWithStreamListener:509
Expecting actual not to be null

I would like to say that the tests are not that stable


use dkniffin:bug/disabled-cops-not-disabled changes to get disables t…

…o actually disable

:shipit:


📘 Blog/setup Devise

📘 Blog/setup Devise

[x] No linters error
[x] Maintained Git & Github workflows
[x] Implemented Devise for authentication
[x] User auth, login, sign_up, email-confirmation all works

Project Status: INVALIDATED :red_circle:
Hi @mahabubx7 ,
While you made a great effort in this project, I can't go ahead and review your code.

Invalid Code Review Request

This is because you have submitted a project that is  a pair-programming activity and as a result needs to have commits from both you and your partner or partners. 💯
However, if for some reason you have to do the project alone, then attach a screenshot of the message you received from student success stating that you can do the project alone in the pull request description 👍

Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers, and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me @NahnahAJ in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.

Project Status: INVALIDATED 🔴
Hi @mahabubx7 ,
While you made a great effort in this project, I can't go ahead and review your code.
Invalid Code Review Request

This is because you have submitted a project that is  a pair-programming activity and as a result needs to have commits from both you and your partner or partners. 💯
However, if for some reason you have to do the project alone, then attach a screenshot of the message you received from student success stating that you can do the project alone in the pull request description 👍

Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers, and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear. Please, remember to tag me @NahnahAJ in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.
Invalid Code Review Request does not count into the code reviews limit.

Thanks, I just forgot that 🙃


Revert "Bump github.com/aws/aws-sdk-go-v2/service/ecr from 1.19.5 to 1.22.0"

Reverts transcom/mymove#11532

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against a727fb9171ed5261b2760062cbc1d0057c823415


[Suggestion] Support for MEGA Cells storage components?

It would be nice if DISK was compatible with MEGA Cells storage components. Is it possible to implement?

cough


Prepare for v0.32.4 and v1.8.4

@damemi note that the version update now updates the expected fixture.  Is there a way to not have that happen?

@damemi note that the version update now updates the expected fixture. Is there a way to not have that happen?

Yeah we can probably fix that. What commands did you run here? Is this just the result of make fixtures reading the new versions and updating based on that?

After updating the version in release.go, and running make prepare-release, the fixure-based unit test failed.  Then, I ran make fixtures, and committed the results.


Introduce new version of applyIndexOperationOnPrimary

See commits

retest this please

Closing for now - maybe makes sense to tackle this after getting rid of source

Closing for now - maybe makes sense to tackle this after getting rid of source


Not share localRepository for Producer, Consumer & Reader

https://github.com/broker-game/git-broker-client/pull/95


Should we remove/Rename OpsCenter and Telekcube from Quickstart?

We currently have OpsCenter and Telekcube but have changed the naming in v6.  Should we rename or remove these?

Yes should be renamed to reflect updated naming convention.


Getting HTTP Error 403: Forbidden

What does it mean when I get HTTP Error 403: Forbidden, and how can I fix it?

could you ever fix it?


Automated downsampling

What is missing?
A feature that I would love to use more is promscales downsampling. However it is pretty low level if you want to do continuous aggregates. It involves running SQL commands against your timescaledb manually.
It would be nice if this chart could handle some of this automatically, basically giving it your SQL queries, or metric names, and running these queries as a job for you automatically.
Why do we need it?
It would allow greater adoption of downsampling features that are offered in timescale

Note: We are working on the design of automatic metric-rollup (with option to choose multiple resolutions) natively in Promscale. This should be out (probably in beta) sometime next quarter based on the current plans.

@braunsonm I am going to close this issue as it really should be in the timescale/promscale issue list.  If you feel like this is really a tobs related issue, please reopen.

@nhudson Wouldn't this be related to tobs as it configures promscale? I guess this could be seen on both if promscale doesn't have an easy way to configure this in the first place. Perhaps @Harkishen-Singh will address that.

@braunsonm I will go ahead and reopen this to discuss with the team, but I think if we did add something that it would be done in the promscale helm chart.  Either way I will reopen the issue.  Thanks!

@braunsonm I have created a new feature request for the Promscale Helm Chart here: https://github.com/timescale/helm-charts/issues/427
For now I will close this issue in favor of the new one.  Thanks for the ask!


Simple Update for state management

In my own tests, using OnChange += StateHasChanged; unfortunately did not work.
Based on this, I did some research and came to the conclusion that when we write our own handler method, we can solve this problem by invoking asynchronously.
If we can update the document in this way, it will be better for people like me who come across this problem to learn directly with the already solved version.
Please write if you have any suggestions.
I would like to point out that I did not open an issue because I thought it was a simple suggestion.

@dotnet-policy-service agree

Hello @Runaho ... This isn't a patch update to non-working/poorly-implemented code. The original code works. Normally, we do prefer an issue to discuss significant changes. It sounds more like the code didn't work in your use case, and perhaps what we should do is make this say that the demo code is a starting point for further customization.
@MackinnonBuck ... The section where this code appears is at ...
https://learn.microsoft.com/en-us/aspnet/core/blazor/state-management?view=aspnetcore-7.0&pivots=server#in-memory-state-container-service-server
... and I just confirmed that it works as shown. Do you want to take a look, or do you think Steve or Javier should look at this?
Ultimately, we'll do one of the following ...

Accept the changes, perhaps with a few NIT updates.

Either only show it with @Runaho's changes.
Show both the original and @Runaho's approach SxS because the original works in some cases and @Runaho's approach is appropriate in a different situation.

Just add that this is a starting point for further customization.
Close as a won't-fix.

I have prepared an update that you can try on this issue, I am leaving a simple example repo link.
There is also a video in Readme.
@guardrex
https://github.com/Runaho/BlazorStateManagement

I think that's covered in the Rendering article in more detail ...
https://learn.microsoft.com/en-us/aspnet/core/blazor/components/rendering?view=aspnetcore-7.0#receiving-a-call-from-something-external-to-the-blazor-rendering-and-event-handling-system
I need to digest this scenario a bit more ... things like what happens if your SendMessage call in the component is wrapped in InvokeAsync to perhaps dispatch it. I'm not saying that will work. I'd like to compare and contrast the examples in the docs with your use case.
I'm working on a potentially complicated set of updates to our form docs, so I'll need to circle back around to this. I'll try to get back to it by tomorrow ...... but no promises on that! 😆🏃🏃🏃🏃😅

Thank you for your effort @guardrex
As far as I understand, when we look at the example, it has been added as scoped, not as a singleton, in Server Project so it will only work on the same client and will work correctly.
But when we want to trigger more than one client, this example causes an error.
Maybe we can add it to the document instead of editing it directly?

Got it, thank you.
The main goal here is to be able to trigger other clients with a singleton state container rather than creating a new hub since Blazor has already opened the SignalR socket.
When you look at it this way, it actually provides a really easy implementation.
This topic is no longer about simply editing documents :)
I think with this approach, we are already using the advantage of the Blazor Server application running on a single server and we are building a pusher-like structure.
A dynamic Blazor Rendering sounds really nice and it's a nice privilege to be able to use it as (SSR) or (CSR) when I want.
Maybe we can close this thread or turn it into something else after the other people you mentioned have expressed their opinion about it.

We've scoped this issue to an ask for a more general state container service than what the topic provides, given that the article is chiefly concerned with state management for a single client (single circuit). To help unblock devs who hit the The current thread is not associated with the Dispatcher. error, this article should cross-link the Rendering article that explains how to deal with callbacks invoked outside of Blazor's synchronization context. I think it makes the most sense to compose the cross-link in a Troubleshoot section, as opposed to just having it in an Additional Resources section. I'm going to fix this issue that way. I'll also add a long-range tracking issue to review this issue for more work in 2024.


refactor(client): use std::list<waybar_output> to store outputs

std::unique_ptr is not required here as the only benefit it gives is stability of address on vector resize and it's easy to invalidate it accidentally. std::list provides the same guarantee of stable addresses
of the elements and correct destruction while avoiding smart pointer overhead.
Also fixes #554, caused by my inability to read the manual for std::remove_if :smile:
To be honest, fixing remove_if would be enough, but I already did the refactoring part and decided to proceed with that.

Have tested this on my machine. Works great. Will continue testing for the rest
of the week.
J


Formatting problem with the sourceforge generation syntax

The syntax:
sct_register_multimodal -sf

Produces ugly-looking entries for flag param:
https://sourceforge.net/p/spinalcordtoolbox/wiki/sct_register_multimodal/
I guess this will be solved when we will be moving to sphinx-type doc, but some outstanding issues should be solved now because people are currently using the SF doc.

I guess this will be solved when we will be moving to sphinx-type doc

Indeed! :stuck_out_tongue_winking_eye:


Support ESM mix config

Things I didn't know about JS. Functions have an empty object prototype unless it's an arrow fn. Which has none…
🤦

Published v6.0.39 which should fix it.

Haha, yikes, I didn't know that either.


Stunner gateway operator  ERROR   updater cannot update service on AWS + EKS + ALB due to "cannot upsert service \"stunner/udp-gateway\": Service \"udp-gateway\" is invalid: spec.loadBalancerClass: Invalid value: \"null\": may not change once set"

Hey all,
I'm getting this error when provisioning Stunner on AWS + EKS + ALB.
The error seems pretty straightforward. Here's my stunner logs:
2023-10-08T19:36:50.449897717Z  ERROR   updater cannot update service   {"operation": "unchanged", "service": "{\"metadata\":{\"name\":\"udp-gateway\",\"namespace\":\"stunner\",\"creationTimestamp\":null,\"labels\":{\"stunner.l7mp.io/owned-by\":\"stunner\",\"stunner.l7mp.io/related-gateway-name\":\"udp-gateway\",\"stunner.l7mp.io/related-gateway-namespace\":\"stunner\"},\"annotations\":{\"external-dns.alpha.kubernetes.io/hostname\":\"udp.mycompany.com\",\"service.beta.kubernetes.io/aws-load-balancer-nlb-target-type\":\"ip\",\"service.beta.kubernetes.io/aws-load-balancer-scheme\":\"internet-facing\",\"service.beta.kubernetes.io/aws-load-balancer-type\":\"external\",\"stunner.l7mp.io/related-gateway-name\":\"stunner/udp-gateway\"},\"ownerReferences\":[{\"apiVersion\":\"gateway.networking.k8s.io/v1beta1\",\"kind\":\"Gateway\",\"name\":\"udp-gateway\",\"uid\":\"8112c527-66a9-455e-a030-4584d45f203f\"}]},\"spec\":{\"ports\":[{\"name\":\"udp-listener\",\"protocol\":\"UDP\",\"port\":3478,\"targetPort\":0}],\"selector\":{\"app\":\"stunner\"},\"type\":\"LoadBalancer\"},\"status\":{\"loadBalancer\":{}}}", "error": "cannot upsert service \"stunner/udp-gateway\": Service \"udp-gateway\" is invalid: spec.loadBalancerClass: Invalid value: \"null\": may not change once set"}
github.com/l7mp/stunner-gateway-operator/internal/updater.(*Updater).ProcessUpdate
        /workspace/internal/updater/updater.go:115
github.com/l7mp/stunner-gateway-operator/internal/updater.(*Updater).Start.func1
        /workspace/internal/updater/updater.go:62

It appears the culprit is on the property loadBalancerClass: service.k8s.aws/nlb present on the LoadBalancer service that gets created based on the GatewayConfig defined below.
The service automatically patched by ALB due to the annotations service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip and service.beta.kubernetes.io/aws-load-balancer-type: external

configurations
Here's my GatewayConfig:
apiVersion: stunner.l7mp.io/v1alpha1
kind: GatewayConfig
metadata:
  name: stunner-gatewayconfig
  namespace: ${kubernetes_namespace.stunner.metadata[0].name}
spec:
  realm: stunner.l7mp.io
  authType: plaintext
  userName: "user-1"
  password: "${random_password.stunner_gateway_auth_password.result}"
  loadBalancerServiceAnnotations:
    external-dns.alpha.kubernetes.io/hostname: ${local.udp_gateway_host}.${local.fqdn}
    service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
    service.beta.kubernetes.io/aws-load-balancer-type: external

Here's the service that gets provisioned using the above config:
apiVersion: v1
kind: Service
metadata:
  annotations:
    external-dns.alpha.kubernetes.io/hostname: udp.mycompany.com
    service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip
    service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing
    service.beta.kubernetes.io/aws-load-balancer-type: external
    stunner.l7mp.io/related-gateway-name: stunner/udp-gateway
  labels:
    stunner.l7mp.io/owned-by: stunner
    stunner.l7mp.io/related-gateway-name: udp-gateway
    stunner.l7mp.io/related-gateway-namespace: stunner
  name: udp-gateway
  namespace: stunner
spec:
  allocateLoadBalancerNodePorts: true
  clusterIP: <IP_ADDRESS>
  clusterIPs:
  - <IP_ADDRESS>
  internalTrafficPolicy: Cluster
  ipFamilies:
  - IPv4
  ipFamilyPolicy: SingleStack
  loadBalancerClass: service.k8s.aws/nlb
  ports:
  - name: udp-listener
    nodePort: 30733
    port: 3478
    protocol: UDP
  selector:
    app: stunner
  type: LoadBalancer

Now, everything appears to be working, but the error is there... I don't know the implications of it.

Hi @calexandre
Thank you for reporting this edge case. The field spec.loadBalancerClass is indeed immutable. And since we do not set the field's value when the gateway operator creates the initial service based on the corresponding Gateway's config, the cloud provider's default value will be used. It seems that after deploying the Service in the cluster, AWS's controller will immediately set this immutable field based on the annotations. Although it should not be modified, they do it anyway. Could not find anything useful based on this online, if you got anything please post it in the comments.
Does this Error get raised only once?
If it works as expected maybe we should leave it as of now and create a note in the docs to raise attention that "AWS....".
@rg0now Maybe in the upcoming releases we could support an additional annotation to set the spec.loadBalancerClass field by default when creating the Service. However, it might be problematic because the user needs to know which `aws-loadbalancer-' combination comes with whatever LoadBalancer class. AND it is just AWS we do not know how other cloud providers handle this.

@davidkornel for now it only affects AWS, but it will change in the future because the spec.loadBalancerClass is part of the service spec from official Kubernetes documentation.
It behaves very much like the spec.ingressClass on the ingress resource.
Now on my end, the stunner error I posted above, is happening on every reconciliation loop (about 1 or 2 times per minute). What are the implications of the error on the stunner side?

I asked whether it happens only once or every time to see if it blocks the service update totally or not. If it happens on every reconciliation it blocks the update process totally (I think).  As I see from that point we lose control over the service since we cannot update it, however deletion should work. Thus a modification to the Gateway resource should not apply to the service.

I asked whether it happens only once or every time to see if it blocks the service update totally or not. If it happens on every reconciliation it blocks the update process totally (I think). As I see from that point we lose control over the service since we cannot update it, however deletion should work. Thus a modification to the Gateway resource should not apply to the service.

Okay, so if we do not update the gateway, despite the error there should be no problems right?

Okay, so if we do not update the gateway, despite the error there should be no problems right?

Yes, you're right. But it's still a bug though, thanks a lot for reporting it!
The solution would be to special-case the code that updates Services here:

If the Service new Service (which we are about to DeepCopy) contains a nil spec.loadBalancerClass then we should leave the spec.loadBalancerClass on the existing Service intact. This should fix this error.
If the new and the existing Service both contain a non-nil spec.loadBalancerClass and the two classes differ, then we should delete the existing Service and recreate it with the new spec.loadBalancerClass (this is a super-intrusive update, public IPs and NodePorts will change, but this should be a relatively rare occurrence).

I'm wondering whether changing controllerutil.CreateOrUpdate to controllerutil.CreateOrPatch would automatically fix this without special-casing. We'll need to do some testing to see this

Sounds great!
Let me know if you need anything else on my end for reproduction purposes...

Fixed in https://github.com/l7mp/stunner-gateway-operator/commit/81c2eaf652f30878ee33a325894116aa20268b7b


Player's Mount Control Issues

Foundry version: 11.315
DnD5e version: 2.4.1
Rideable version: 2.17.2
I'm having trouble getting my players to be able to move tokens they mount. As the DM, I can move the mounted token and they move fine, but when I join the game as the player, they can move the mounted token only if they have ownership, but when they move the token they detach and move just the mounted token. Their PC token stays in the original position.
Players are also unable to mount tokens themselves, I as the DM have to mount and unmount them.

When testing the module as a player, is a GM account online?

There was not. Upon testing this issue with a DM account online, it seems to be working as intended!

Good to hear. Small explanation why a GM account is necessary:
Some of the things rideable does (e.g. moving a token a player doesn't own) are simply not possible with foundry. The data that would have to be changed by a player is protected by foundry if they don't own the token. Instead rideable basically requests the GM account to make the appropiate movements for the player.


Application distribution not working as noted in wiki

Electron v0.34.0
Operating System: Windows 7 x64
Problem:
When following the application distribution tutorial by creating a folder under electron/resources named app, placing my application files there, and running electron.exe, "nothing happens".
Expected Result:
My application should run when I run electron.exe.
Actual Result:
If I don't delete the default_app folder and the atom.asar file, the electron just opens like it normally does. If I do delete those items, the electron application either opens and immediately crashes (without telling me why), or just doesn't open. I don't know which.
Other Information:
My application uses a C++ addon that reads data from csv files and manipulates it, returning the data to my application.

Did you copy your package.json to the app folder?
If you did then paste the content of package.json and the file list of app folder.

I did copy package.json to the app folder.
Its contents are as follows:
{
  "name"    : "eRedbook",
  "version" : "0.1.0",
  "main"    : "main.js",
}

And the file list of the app folder:
build/
css/
data/
js/
binding.gyp
changelog.html
data.db
execRedbook.cpp
execRedbook2.cpp
index.html
main.js
package.json
redbookData.cpp
redbookData.h
redbookData.lib
redbookData.obj
sql.js

You have an extra comma after the last item in your package.json so it will fail to parse.

Ah, good catch. With that comma gone, the second part of the "actual results" posted above (where the app either doesn't open or closes immediately) occurs.
This application does run as expected when I just drag my main.js onto the electron.exe from an outside directory, so I'm confused as to what's going on.

Run your app from a terminal with the --enable-logging flag so you can see if any errors are printed.
You said before that you deleted default_app and atom.asar, did you restore them? atom.asar is mandatory.

Alright, thank you for that flag. Not sure where I would have looked for that.
The problem ended up being that my data folder, where my csv files are being read from, is being looked for under the electron/ folder rather than my app/ folder. One fix is to move my data folder up to the electron folder, another fix is to just fix the path in my code.
I did various attempts with deleting/keeping those files. I did not know that atom.asar was necessary, but now I do. Thanks!

You're welcome :)


zpp::bits::number_of_members seems to miscount for aggregates that derive from an empty base type

I'm using Clang 17
to reproduce:
int main()
{
    struct Base{};
    struct Derived : Base
    {
        int value = 1;
    };

    static_assert(zpp::bits::number_of_members<Derived>() == 1);
}

Counting the members using the aggregate trick has its limitations and edge cases. Unfortunately this is one of the cases where we have to wait for P1061. In the meantime specify the number of members explicitly using one of the methods in the readme

Refer to the readme note about this flag, it relies on a behavior that was not entirely defined in the standard. Recently I believe it was clarified what is exactly the immediate context in sfinae errors and also clang fixed their code accordingly in clang 18


grt: avoid duplicated segments

The code looks fine but would you run a secure CI to check for impact.

The code looks fine but would you run a secure CI to check for impact.

Just added a branch to the secure repo.

gf12_bp_single needs investigating


Failed to run grpc python on multiprocessing

What version of gRPC and what language are you using?
pip3 show grpcio
Name: grpcio
Version: 1.19.0
Summary: HTTP/2-based RPC framework
Home-page: https://grpc.io
Author: The gRPC Authors
Author-email<EMAIL_ADDRESS>License: Apache License 2.0
Location: /usr/local/lib/python3.7/site-packages
Requires: six

What operating system (Linux, Windows,...) and version?
macOS 10.14
What runtime / compiler are you using (e.g. python version or version of gcc)
Python 3.7.2
What did you do?
If possible, provide a recipe for reproducing the error. Try being specific and include code snippets if helpful.
I run route_guide example and modify it on multiprocessing.
All i have modified is route_guide_client.py
The modified route_guide_client can be found here https://paste.ubuntu.com/p/nxvJbzXXyq/
I failed to using one channel on multi processes before fork() firstly, then I tried per process per connection, and it still failed.
from multiprocessing import Process, Manager

m = Manager()
s = m.dict()
stub = None

def get_stub():
    global stub
    import os
    pid = os.getpid()
    if pid in s:
        return stub

    print('init stub for ', pid)
    channel = grpc.insecure_channel('localhost:50051')
    stub = route_guide_pb2_grpc.RouteGuideStub(channel)
    s[pid] = 1
    return stub

What did you expect to see?
Like everything in example
What did you see instead?
Blocking  on first  gRPC  request  after fork()
Anything else we should know about your project / environment?
I want to write a library use gRPC Python, and I cannot control when fork is called by my user, so multi process support is required.
I found multiple issues about this problem, but all closed, and i try on the latest  grpcio  version but still failed, so I create a new issue.

It maybe isn't documented quite well enough in this doc, but the PR that implemented client-side fork support is quite clear on the matter:

gRPC Core's API for fork support
A process may fork after invoking grpc_init() and use gRPC in the child if and only if the child process first destroys all gRPC resources inherited from the parent process and invokes grpc_shutdown().
Subsequent to this, the child will be able to re-initialize and use gRPC. After fork, the parent process will be able to continue to use existing gRPC resources such as channels and calls without interference
from the child process.
gRPC Python behavior at fork()
To facilitate gRPC Python applications meeting the above constraints, gRPC Python will automatically destroy and shutdown all gRPC Core resources in the child's post-fork handler, including cancelling in-flight calls. From the client's perspective, the child process is now free to create new channels and use gRPC.

The code you've linked never closes the channel it opens in the parent process, so the child processes are susceptible to deadlocks and hangs. I was able to make your linked example code work simply by closing the channel created in the parent process by the call to f in the run function. I'd recommend you use the context manager idiom every time you instantiate a channel.
Closing this issue for now. @TennyZhuang If this answer does not satisfy you, then please feel free to reopen.

Thanks for your response, and it works if I always close the channel.
But I create a library using gRPC and pack it to Python SDK use gRPC-python. And it is overhead if I always create a new channel on every connection.
I do a workaround that patch the os.fork function and always close the channel before the really fork called and recreate the connection after fork. This is my code:
def getController():
    channel = grpc.insecure_channel('HOST')
    stub = XXXControllerStub(channel)

    def before():
        nonlocal channel
        channel.close()

    def after():
        nonlocal channel, stub
        channel = grpc.insecure_channel('HOST')
        stub = XXXControllerStub(channel)

    if hasattr(os, 'register_at_fork'):
        # https://docs.python.org/3.7/library/os.html#os.register_at_fork
        # features for Python 3.7
        os.register_at_fork(before=before, after_in_parent=after, after_in_child=after)
    else:
        orig_fork = os.fork

        @functools.wraps(os.fork)
        def new_fork():
            before()
            pid = orig_fork()
            after()
            return pid

        os.fork = new_fork

    global getController

    def getController():
        return stub
    return stub

A better solution is use pthread_atfork.
I found that in the PR which your mentioned, there is already some code that call pthread_atfork, and it seems that channel._close_on_fork will be called automatically in postfork.
Is it possible that do all the things in gRPC library? In pseudocode:
pre_fork:
Close event loop, close all active channels and record them.

post_fork:
Reconnect all channels recorded.

Then all things about fork will be shielded for gRPC users.

It seems that there is no reopen button
@gnossen

And here is another error if I use python 3.5 and use that get_controller before and after fork().
Exception ignored in: <bound method Channel.__del__ of <grpc._channel.Channel object at 0x7f1720d07ef0>>
Traceback (most recent call last):
  File "/home/USER/.local/lib/python3.5/site-packages/grpc/_channel.py", line 1063, in __del__
TypeError: 'NoneType' object is not callable

grpcio Version: 1.18.0

@TennyZhuang
Going back to your first example, can set the environment variable GRPC_ENABLE_FORK_SUPPORT=1. I believe the program should terminate without the need for a custom at_fork handler.

@gnossen
nowhere is it documented how to set an environment variable for grpc python on windows...I've tried many things without success.


#958 unblocking tedge mapper start up

Proposed changes

unblocked tedge mapper startup. http_proxy was causing the mapper to remain in a while loop trying to fetch an internal device id from cumulocity. this has now been taken out of tedge mapper startup.
the struct in question, C8yEndPoint, now has an uninitialised version (C8yEndPointUninitialised) and the either crate is used to change the state from uninitialised to initialised.
the full proposal is covered here
Types of changes

[x] Bugfix (non-breaking change which fixes an issue)
[x] Improvement (general improvements like code refactoring that doesn't explicitly fix a bug or add any new functionality)

Paste Link to the issue

Closes to #958

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[x] I used cargo clippy as mentioned in CODING_GUIDELINES

Further comments

I'm surprised that we are discarding the message when initialization fails, even though it is logged the event / software list request will not be triggered again.

Indeed, the fix proposed here unblocks the mapper - that can process local messages even if there is no cloud connections, but makes another issue more likely - if there is no cloud connections when the mapper start then the current software list is not sent to the cloud.

I believe that in this case we should either retry at least or queue the messages to be sent whenever we can initialize properly.

A retry would just push the issue a step further. A queue of messages to be sent would a better fix. If we focus on the issue that the current software list is not sent to the cloud when there is no cloud connections on start, I think we can find some not too complex workaround. But I'm afraid this workaround will break sooner or later.

It was pointed to me by Alex that we foresee this initialisation to happen almost immediately after the mapper starts, but it would not be a case as it will only be initialised when an event requiring HTTP will occur. I believe the right way to go about this is to have the init run as a task and be triggered at the start, but also we would need a caching for messages which cant be send while uninitialised.

Fixing the issue for all the events requiring HTTP requires much more that a queue of messages to be retried. We need to rethink the boundaries between the mapper and the HTTP proxy. Indeed, a method like C8YHttpProxy::send_event or  C8YHttpProxy::upload_log_binary is partial and focused on the HTTP part of the request. In the current code base, when these HTTP related methods return then the mapper needs to finalize the request addressing the MQTT part of the Cumulocity protocol. So, if we let this separation of work unchanged, not only one needs a queue of messages to be processed by the http proxy when the network will be up, one also needs a queue of messages to be further processed by the mapper.
I think the mistake is to cut the responsibilities between the mapper and the http proxy around the transport protocol while Cumulocity uses a mix of HTTP and MQTT.
In conclusion, I think that what to be done is a bit involved:

Reshape the HTTPProxy interface so a request like upload_log_binary is processed in its entirety (getting the JWT token from MQTT, uploading the content to cloud using HTTP, fetching the log event url and sending this url to the cloud via MQTT).
The mapper can then fully delegate these requests to the proxy without being blocked.

Closing this abandoned PR


Scrape Intervall

How often does the exporter scrape a target?
Is there a way to influence/change the scrape intervall?
Thanks

@linokaiserWGC that something you configure yourself as show in this example.
The exporter doesn't scrape targets on its own. You have to request it (via a Prometheus scrape job) to scrape them.
Just make sure the the scrape interval is high enough since SSLLabs assesments take a couple of minutes to finish.

Ah so it really depends on the scrape intervall defined for the job in prometheus. Thats a cool functionality. Thanks for the quick answer. You can close the issue.


Invalid token error

PI gives this error createUser: 403: You do not have permission to access the resource. {"detail":"Invalid token."}. I have already applied my test production key in key.properties

Updated to the new version


Prefect worker always tries to pull an image prefecthq/prefect:2.11.1-python3.11-kubernetes which does not exist.

I am trying to use 2.11.0-python3.11-kubernetes (not 2.11.1-python3.11-kubernetes) for Prefect worker by:
helm upgrade \
  prefect-worker \
  prefect-worker \
  --install \
  --repo=https://prefecthq.github.io/prefect-helm \
  --namespace=hm-prefect \
  --create-namespace \
  --values=my-values.yaml

my-values.yaml:
agent:
  image:
    repository: docker.io/prefecthq/prefect
    prefectTag: 2.11.0-python3.11-kubernetes
  apiConfig: server
  config:
    workPool: hm-kubernetes-pool
  serverApiConfig:
    apiUrl: http://prefect-server.hm-prefect.svc:4200/api

However, this gives error
Failed to pull image "prefecthq/prefect:2.11.1-python3.11-kubernetes": rpc error: code = NotFound desc = failed to pull and unpack image "docker.io/prefecthq/prefect:2.11.1-python3.11-kubernetes": failed to resolve reference "docker.io/prefecthq/prefect:2.11.1-python3.11-kubernetes": docker.io/prefecthq/prefect:2.11.1-python3.11-kubernetes: not found

Instead of 2.11.0-python3.11-kubernetes, it always tries to pull prefecthq/prefect:2.11.1-python3.11-kubernetes which does not exist as of today.
And I tired other version for prefectTag field, and same. It seems this prefectTag is being ignored.
On the other side, Prefect Server and Prefect Agent can install the right version.
Any ideas? Thanks!

hey @Hongbo-Miao - just making sure, is your worker's values.yaml nested in a worker key, and not agent?
https://github.com/PrefectHQ/prefect-helm/blob/main/charts/prefect-worker/values.yaml#L14

Thanks @parkedwards ! You are right, I copied from my old agent config.
It should be worker: instead of agent: in my-values.yaml file.
Now it works well! 😃


SD section order does not align with cPP

Section 4.3.5 and 4.3.6
The ordering of the SFRs in the SD does not align with the ordering in the PP.
Suggested change: swap section 4.3.5 and 4.3.6 in the SD
Section 4.5
The ordering of the SFRs in the SD does not align with the ordering in the PP.
Suggested change: move FMT_MOF.1/Services before FMT_MOF.1/AutoUpdate to align with the ordering in the PP

Swapped Sections 4.3.5 and 4.3.6. New order is:
4.3.5 FIA_UAU.7 Protected Authentication Feedback
4.3.6 FIA_PMG_EXT.1 Password Management
Moved FMT_MOF.1/Services ahead of FMT_MOF.1/AutoUpdate.

Issues resolved with PR #209


restart_container() causing live updates to fail

I came across this error when experimenting with live updates:
Live Update failed with unexpected error:` ``ExecUpdater does not support `restart_container()` step. If you ran Tilt with `--updateMode=exec`, omit this flag. If you are using a non-Docker container runtime, see https://github.com/windmilleng/rerun-process-wrapper for a workaround`` `Falling back to a full image build + deploy

I was able to reproduce this behavior in a node example, snapshot:
https://cloud.tilt.dev/snapshot/Aeqv5-YLbMiJCqmafqw=
Tiltfile:
k8s_yaml('deployment.yaml')
dm1_img_name = 'node-web-app'
docker_build(dm1_img_name, '.', dockerfile='Dockerfile',
  live_update=[
    sync('./server.js', '/usr/src/app/server.js'),
    run('npm start'),
    restart_container(),
  ]
)

tilt doctor result:
Tilt: v0.12.5, built 2020-02-27
System: linux-amd64
---
Docker
- Host: [default]
- Version: 1.40
- Builder: 2
---
Kubernetes
- Env: microk8s
- Context: microk8s
- Cluster Name: microk8s-cluster
- Namespace: default
- Container Runtime: containerd
- Version: v1.17.3
---
Thanks for seeing the Tilt Doctor!
Please send the info above when filing bug reports. 💗

The info below helps us understand how you're using Tilt so we can improve,
but is not required to ask for help.
---
Analytics Settings
- User Mode: opt-out
- Machine: [redacted]
- Repo: [redacted]

Sorry about this! restart_container() does not work on microk8s.
It might never work, because the microk8s container runtime doesn't support the necessary APIs.
The current workaround is to use something like https://github.com/windmilleng/rerun-process-wrapper, or use an app-specific tool to restart the server (like nodemon). We're working on better documentation on this.
At the very least, we should make the error message a bit better here.

Good to know. Then I will use nodemon a bit more, that's not such a problem.
I think this issue can be closed then. Thanks for the answer! @nicks


chore: update playwright to 1.31.1

Updates PW to the current latest release 1.31.1

:broken_heart: Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2023-02-23T18:10:46.078+0000

Duration: 15 min 57 sec

Test stats :test_tube:

Test
Results

Failed
1

Passed
212

Skipped
2

Total
215

Test errors
Expand to view the tests failures
Lint / Fix End of Files – pre_commit.lint

Expand to view the error details
 error

Expand to view the stacktrace
 ![CDATA[- hook id: end-of-file-fixer
- exit code: 1
- files were modified by this hook

Fixing package.json

]]

:robot: GitHub comments
Expand to view the GitHub comments

To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.


Fails with new Flutter embedding system for v2 Android Embedding

With the latest update to Flutter (I am on 1.13.2) a new v2 of the Android embedding API was introduced.
Running:
flutter create --template app --description "Fluttering" --ios-language "swift" --android-language "kotlin" --org "xyz.flutter" app

Generates new an Android project with some subtle differences:
AndroidManiest.xml with
     <!-- Don't delete the meta-data below.
             This is used by the Flutter tool to generate GeneratedPluginRegistrant.java -->
        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />

MainActivity.kt with no onCreate and a new method:
    override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);
    }

Adding
dev_dependencies:
  flutter_native_splash: 0.1.9

flutter_native_splash:
  image: assets/splash.png
  color: ffcc11
  fill: true

and then executing:
flutter pub pub run flutter_native_splash:create

updates the drawables/* and colors.xml, but fails to with MainActivity.kt
Sometimes you see the splash for a flicker of a second, followed by a black screen before the Flutter content shows

Probably this is the solution: #54

Any solution to this problem? Some time ago I upgraded to embedding v2 and got problems in the MainActivity.java class. The biggest problem is that Flutter v 1.22 is constantly complaining about updating:
"Your Flutter application is created using an older version of the Android embedding. It's being deprecated in favor of Android embedding v2. Follow the steps at https://flutter.dev/go/android-project-migration"

Guys, in order to continue using this package, I found a partial and manual solution to this problem.
Once added to the splash screen with this package, some manual settings can be made to correct this problem:
Adjust your MainActivity.java or kotrin similar to these settings:
package br.com.domain.name;

import io.flutter.embedding.android.FlutterActivity;

import androidx.annotation.NonNull;

import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugins.GeneratedPluginRegistrant;

import android.os.Build;
import android.view.ViewTreeObserver;
import android.view.WindowManager;

public class MainActivity extends FlutterActivity {

    @Override
    public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
        GeneratedPluginRegistrant.registerWith(flutterEngine);

        int originalStatusBarColor = 0;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            originalStatusBarColor = getWindow().getStatusBarColor();
            getWindow().setStatusBarColor(0xff016D09);
        }

    }

}

And in your AndroidManifest.xml, similar to:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="br.com.domain.name"
    xmlns:tools="http://schemas.android.com/tools">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        tools:replace="android:label"
        android:label="Name"
        android:icon="@mipmap/ic_launcher">
        <activity
            android:name=".MainActivity"
            android:launchMode="singleTop"
            android:theme="@style/LaunchTheme"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize">

            <meta-data
                android:name="io.flutter.embedding.android.SplashScreenDrawable"
                android:resource="@drawable/launch_background" />

            <!-- Theme to apply as soon as Flutter begins rendering frames -->
            <meta-data
                android:name="io.flutter.embedding.android.NormalTheme"
                android:resource="@style/NormalTheme"
                />

            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>

        <meta-data
            android:name="flutterEmbedding"
            android:value="2" />
    </application>
</manifest>

And finally, add the style, similar to:
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="LaunchTheme" parent="@android:style/Theme.Black.NoTitleBar">
        <item name="android:windowBackground">@drawable/launch_background</item>
        <item name="android:windowFullscreen">false</item>
    </style>

    <style name="NormalTheme" parent="@android:style/Theme.Black.NoTitleBar">
        <item name="android:windowBackground">@drawable/launch_background</item>
        <item name="android:windowFullscreen">false</item>
    </style>
</resources>

That was a solution that worked for me and I hope it helps in correcting this package.
For more information visit: https://flutter.dev/docs/development/packages-and-plugins/plugin-api-migration

Should be resolved by 48981828e831768c4ad89a35475e8f9f24e0aca5.

Should be resolved by 48981828e831768c4ad89a35475e8f9f24e0aca5.


Introduce Windows support

Tested against Windows 2016 only (reports as "10" to distribution_major_version)
Things:

Windows support

run as a user, optionally with administrators membership

main.yml -> include_tasks based on ansible_os_family (leaving space for darwin later)
Introduce ability to pin version installed (Windows needs this; no package manager to say "get latest" from, and so I made Ubuntu also support this with an opt-out)

Part of #5.

@hectcastro I think this is now ready for review. I've been using it successfully across both Linux and Windows.

Thanks for the contribution, @petemounce. Can you please rebase your commit history down a bit before we merge?

Sure; or, you could squash merge directly if the repository has that set up?
https://help.github.com/articles/about-pull-request-merges/ describes what happens and I think the repository default settings have it turned on.


Case sensitive on font 'univers'

Line 251 need to change univers to Univers
Also guessing this isn't for a headless browser?

Line 251 need to change univers to Univers

Thanks for identifying this. Both works fine for me btw.  But I'll change it to Univers on the next release.

Also guessing this isn't for a headless browser?

Can you please explain what do you mean by this ?  the repo or the font ?

Can you please explain what do you mean by this ? the repo or the font ?

This needs a GUI to work right? It opens a browser window? So a VPS without a GUI that can't open browser windows, this won't run on. Would need to use a headless browser like chromium

This needs a GUI to work right? It opens a browser window?

Yes, this is the default.

So a VPS without a GUI that can't open browser windows, this won't run on. Would need to use a headless browser like chromium

Headless mode may work if there's no CAPTCHA.

Headless mode may work if there's no CAPTCHA.

Captcha for what?

Actually Cloudflare Turnstile, not CAPTCHA, sorry.
This challenge is shown before the login page, if you're tying to login too frequently.
Also currently ChatGPT is at capacity.

Changed the font: b0fc49f03e46b6612d803f7910a8a110a138c5b1
Thanks @just-rich 🙏


restore scroll position after popstate

A scrolling position seems not to be restored after popstate.
fix popstate test case /foo#hash1 → /foo → /bar (pop) to /foo#hash1 → /foo → /foo#hash1 (pop)

Coverage remained the same at 99.43% when pulling 08b038ed72178f0de80931bd8d268d924557e427 on geta6:master into f84143d46b5cbf46812af60d8e4aeb8be1ddd0ee on yahoo:master.

:ship:

Thanks!


compare_faces compares only the first face in array

face_recognition version: 1.2.2
Python version: Both 2.7.5 and 3.6.5
Operating System: CentOS 7

Hello,
This code below doesn't work for me for multiple known faces. It only compares first face in the array.
face_encodings = numpy.array(list(my_face_encodings.values()))
...
...
results = face_recognition.compare_faces(face_encodings, unknown_face_encoding)

unless i do this. use a for loop. code below works but why not the one above?
face_encodings = numpy.array(list(my_face_encodings.values()))
...
...
for kface in face_encodings:
    results = face_recognition.compare_faces([kface], unknown_face_encoding)

what might be wrong that compare_faces does not accept my array?

Hi, I want to ask, how do you install dlib on Centos 7? I always got errors.


access violation : OSError: exception: access violation reading 0x0000000000000000

There are some issues with python tests for IRMovie generated from numpy arrays of shapes (10, 515, 640) and (10, 243, 320).
The issue seems to reside in the C part with an access violation : OSError: exception: access violation reading 0x0000000000000000
This occurs everytime the second image of the instantiated movie is called by the C function  rir_video_io.load_image
Can you have a look @Thermadiag ? It might be nothing or related to my computer but it crashes everytime...
Originally posted by @dubusster in https://github.com/IRFM/librir/issues/5#issuecomment-1551028368

You can use this snippet to test it
python -m pytest ./tests/python/test_IRMovie.py::test_save_movie_to_h264[array4]

I have the same issue running the snippet above in a fresh clone of the repo, after checking out on branch fix-librir-migration and building librir.

Apparently it occurs only on windows (see CI job)

Corrected. Problem was the serializeTimePoint crashing when passing an invalid time_point object, which is the case for this test.
Also added lock guard for this function as std::gmtime is not thread safe.


show app version in the about screen

Idea Description
please show app version at the bottom of the about screen
blocked by #181
Reference images and links
Figma

I want to take this issue!

Thanks Assigned 👍


class coder tabs should be extensible

The class coder hardcodes the tabs for Methods, Definitions & Comments. This should be extensible so we can have custom tools for some classes.

The tabs can be customized by writing methods in GtClassCoderElement with a pragma gtClassCoderTab:. Methods with this pragma should take a single argument which is a BrTabGroup object.


Update ar.coffee

Thank you, @noashess12!

2015-04-17 17:06 GMT+03:00 Imperadeiro98<EMAIL_ADDRESS>
Merged #2679 https://github.com/codecombat/codecombat/pull/2679.
—
Reply to this email directly or view it on GitHub
https://github.com/codecombat/codecombat/pull/2679#event-283938471.


Finish cleaning up the fhirpath filter shorthand table and file.

User Story
As a ReportStream developer, I'd like to simplify organization filters to not have dependencies on the shorthand table.
Description/Use Case
The fhirpath filter shorthand table adds some complication, especially on deployment, for not a lot of benefit. Removing it will make filters easier to understand and debug.
Risks/Impacts/Considerations
Need to make sure #13251 is completed first to avoid impacting staging/prod settings.
Dev Notes
We should remove the table as well as any code that specifically references that table.
Acceptance Criteria

[ ] fhirpath_filter_shorthand.csv file is removed from the repo
[ ] References to the shorthand variables in organizations.yml files have been removed
[ ] Any code specifically dealing with that table has been removed.

Hey team! Please add your planning poker estimate with Zenhub @arnejduranovic @jack-h-wang @jalbinson @JessicaWNava @JFU-NAVA-PBC @jimmyfagan @mkalish @thetaurean

Please add your planning poker estimate with Zenhub @brick-green


Problem with words like "night’s" causing keyphrases to be malformed due to ’ character

Hi Guys,
hoping you can help me with an issue i'm having. I've created an example using the example code provided so the bug can be reproduced.
the issue is that when analysing text which contains words such as "night’s" e.g. :
"Last night’s concert was the third in a series organised by the Lizz Hobbs Group, who have now produced concerts at Slessor Gardens two years in a row."
the keyphrase is given as "Last night2’2s concert". I'm wondering how i can work around this or resolve so that the 2s are not appearing around the ’ character.
please see the following example code:
var retext = require('retext');
var keywords = require('retext-keywords');
var nlcstToString = require('nlcst-to-string');

var text = "Last night’s concert was the third in a series organised by the Lizz Hobbs Group, who have now produced concerts at Slessor Gardens two years in a row.";

retext()
  .use(keywords)
  .process(text, function (err, file) {
    if (err) throw err;

    console.log('Keywords:');
    file.data.keywords.forEach(function (keyword) {
      console.log(nlcstToString(keyword.matches[0].node));
    });

    console.log();
    console.log('Key-phrases:');
    file.data.keyphrases.forEach(function (phrase) {
      console.log(phrase.matches[0].nodes.map(nlcstToString).join(''));
    });
  }
);

output is:
Keywords:
concert
Last
night’s
third
series
Lizz
Hobbs
Group
Slessor
Gardens
two
years
row

Key-phrases:
Last night2’2s concert
Slessor Gardens two years
Lizz Hobbs Group
concerts

see Last night2’2s concert
node v10.10.0
npm 6.4.1
i'd appreciate any pointers as i'm not sure how to approach resolving the issue.

the issue appears to occur during the mapping done by nlcstToString

nlcst-to-string does accept a second argument, the separator, which is used to join stuff together.
This kind of looks like it could be accidentally passed by using someWords.map(nlcstStoString), but I don’t think that happens here or in retext-pos? 🤔

thanks for your tip @wooorm . I've found a workaround by using the lodash module _.map function - i'm not exactly sure why this works and the current method doesn't though 🙃.
please see the working example below:
var retext = require('retext');
var keywords = require('retext-keywords');
var nlcstToString = require('nlcst-to-string');
var _ = require('lodash');

var text = "Last night’s concert was the third in a series organised by the Lizz Hobbs Group, who have now produced concerts at Slessor Gardens two years in a row.";

retext()
  .use(keywords)
  .process(text, function (err, file) {
    if (err) throw err;

    console.log('Keywords:');
    file.data.keywords.forEach(function (keyword) {
      console.log(nlcstToString(keyword.matches[0].node));
    });

    console.log();
    console.log('Key-phrases:');
    file.data.keyphrases.forEach(function (phrase) {

      //console.log(phrase.matches[0].nodes.map(nlcstToString).join(''));

      var nodes = phrase.matches[0].nodes;
      tree = _.map(nodes);
      console.log(nlcstToString(tree, ""));
    });
  }
);

which gives as expected:
Keywords:
concert
Last
night’s
third
series
Lizz
Hobbs
Group
Slessor
Gardens
two
years
row

Key-phrases:
Last night’s concert
Slessor Gardens two years
Lizz Hobbs Group
concerts

Ah, I fixed the example in the readme. Thanks!


e2e: Use fedora-based selinuxd image for e2e tests

What type of PR is this?
/kind bug
What this PR does / why we need it:
The default image is CentOS-based, which works in CentOS, RHEL and
RHCOS. But our e2e tests use Fedora, which doesn't recognize the
libsemanage configuration format (and most likely the policy format
too). So, let's switch to a fedora-based image for this test
Which issue(s) this PR fixes:
None
Does this PR have test?
N/A.
Does this PR introduce a user-facing change?
NONE

Codecov Report

Merging #293 (485c9e7) into master (df77c61) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #293   +/-   ##
=======================================
  Coverage   25.48%   25.48%
=======================================
  Files           8        8
  Lines         616      616
=======================================
  Hits          157      157
  Misses        441      441
  Partials       18       18

Flag
Coverage Δ

unittests
25.48% <ø> (ø)

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

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 df77c61...485c9e7. Read the comment docs.

awww yeah! SELinux tests are green now!


🐛 [FirebaseInstallations] CORS "Origin" header is null

Bug report
Describe the bug
There is concern on the use of the Origin header for the Firebase installation process. Our group had a penetration test run on our project's code and they flagged this issue as moderate. From the security teams findings, it appears the POST /v1/projects/<project>/installations uses an "Origin" header with a value of null. Their expectation is that either CORS should be disabled or to provide the Origin's value with the proper domain (ex: Origin: https://firebaseinstallations.googleapis.com).
Code location: <root>/ios/Pods/FirebaseInstallations/FirebaseInstallations/Source/Library/InstallationsAPI/FIRInstallationsAPIService.m
Steps to reproduce
Steps to reproduce the behavior:

Run any Flutter project with Firebase Core and Firebase Messaging as dependencies. Note: this issue was witnessed on an iOS device (an iOS app).
Capture the server request and response.

Expected behavior
Cross-origin resource sharing (CORS) should be disabled if same-origin policy is not blocking
Or
If Cross-origin resource sharing (CORS) is needed. Then Origin should be set to the proper domain.
Origin: https://firebaseinstallations.googleapis.com
Sample project
NA

Additional context

I am not an iOS developer so there should be no expectation that I can submit a PR / modify Objective-C. I simply did a search in my project on the affected url to locate the file where the request occurs.
The Flutter plugins we use are firebase_core: 1.3.0 & firebase_messaging: 10.0.2

Flutter doctor
NA

Flutter dependencies
NA

Hi @html-rulez-d00d
Since this is coming from the native SDK could you open this issue in https://github.com/firebase/firebase-ios-sdk since we don't control this behavior?
Thank you

Thank you for your quick response @markusaksli-nc ! And thanks for that direction, I was confused since there are so many moving parts with Firebase :)


[TASK] - Create a custom-resources construct for Tags

There are a few utils now that leverage the CDK custom-resources to apply Tags post facto. We should create a construct so that we can reuse the custom resource and not create multiple instances of it.

@askulkarni2 @shapirov103
Can we have custom-resource tags for NodegroupOptions interface of managed-nodegroup like 👇🏼  ?

Look like this https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatetagspecification.html
{
  "ResourceType" : String,
  "Tags" : [ Tag, ... ]
}


services/horizon: verify-range command

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
services/friendbot, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[ ] This PR adds tests for the most critical parts of the new functionality or fixes.
[ ] I've updated any docs (developer docs, .md
files, etc... affected by this change). Take a look in the docs folder for a given service,
like this one.

Release planning

[ ] I've updated the relevant CHANGELOG (here for Horizon) if
needed with deprecations, added features, breaking changes, and DB schema changes.
[ ] I've decided if this PR requires a new major/minor version according to
semver, or if it's mainly a patch change. The PR is targeted at the next
release branch if it's not a patch change.

What
Adds horizon expingest verify-range command and exp/ingest.RangeSession. It also adds GenesisLedgerStateReader to that streams master account in a given network to allow ingesting ledger entry changes from ledger 1.
Close #1848.
Close #2087.
Why
In order to ensure that new ingestion system works correctly we plan to reingest pubnet history from the first ledger. In order to achieve this we add horizon expingest verify-range command that accepts required two params: --from and --to that describe the ledger range. When started it:

It ingests ledger entries of from ledger (must be a checkpoint ledger).
Ingests ledgers [from+1, to].
If --verify-state is set, it runs state verifier on to ledger  (must be a checkpoint ledger).

When merged we can start multiple workers ingesting full history in parallel like:
horizon expingest verify-range --from 9983 --to 16383 --verify-state
horizon expingest verify-range --from 16383 --to 22783 --verify-state
...

Internally, it's using a new RangeSession from exp/ingest package that process a given range of ledger. RangeSession will be also used in horizon reingest commands.
It's also helpful for finding performance issues as it's easy to reingest a given range with a debug server enabled.
runs ingestion pipeline between X and Y sequence number (inclusive)

Usage:
  horizon expingest verify-range [flags]

Flags:
      --debug-server-port uint32   [optional] opens a net/http/pprof server at given port
      --from uint32                first ledger of the range to ingest
      --to uint32                  last ledger of the range to ingest
      --verify-state               [optional] verifies state at the last ledger of the range when true

Known limitations
LiveSession and RangeSession have a shared code that can be extracted to a shared function. Should be done in a separate PR to not decrease readability of this PR.

Added GenesisLedgerStateReader in https://github.com/stellar/go/pull/2086/commits/4e73f2181cf633fcb1f51274f5c22e75f6104860 to fix #2087.

Currently, historyQ.RemoveExpIngestHistory(ledgerSeq) is called before executing a state ingestion pipeline to ensure that we don't encounter uniqueness constraint errors when inserting rows in the historical ingestion tables. See https://github.com/stellar/go/pull/2055 for more context.
I'm not sure we want to maintain this behavior if we're going to introduce range sessions. If the horizon db contains ingestion data up to ledger N and we run horizon expingest verify-range using a range of [N-1024, N-256] that will have a side effect of removing ingestion data in the horizon db for ledgers beyond N-256.
Before executing the range request, should we first check if there will be data loss as a side effect? We could add a force flag to skip the check.

Answering both comments here. RangeSession will be used in three places:

verify-range - this PR. The reason it's called verify is that it's primary purpose is to verify ingestion pipeline on a given range. It ingests both history and state and there's an option to start a debug server and run state verifier on the last ledger. This command will be used in https://github.com/stellar/go/issues/1848.
reingest-range - this will work exactly like the current horizon db reingest range command of the previous ingest package: it will ingest history data only (without state) and will be used to ingest old ledger (or full history) if Horizon admin needs it. https://github.com/stellar/go/issues/2089
Upgrading from the previous ingestion system - it's possible that the last ledger ingested by the old system is not a check point ledger. In such case we need to catchup history ingestion to a checkpoint ledger and then ingest state and continue. This and RemoveExpIngestHistory issue you mentioned will be solved in: https://github.com/stellar/go/issues/2088.

@bartekn once #2088 is implemented, what are the potential side effects of running verify-range?
IMO, the name verify-range gives the impression that there should be no side effects including data loss when running the command. My expectation would be that verify-range performs some a set of stateless checks.

verify-range should be only run on an empty DB and there's a simple check to ensure this: https://github.com/stellar/go/pull/2086/files#diff-3b66fe1a6ca34a1d7747791e3054a199R506. It's a tool for developers and shouldn't be used by users. I can update the command description to make it more clear. Or maybe change the name to verify-ingestion?

@bartekn sorry, I overlooked the empty DB check when I was reviewing the PR. I also see that "requires clean DB" is included in the command description. that makes the semantics of the command clearer to me.  👍


⚠ Fortnite has degraded performance

In 1ae1ba1, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1577 ms

Resolved: Fortnite performance has improved in d2dacce.


elip151: concatenate unprefixed opcode and script pubkey

This is a breaking change but it adheres more to the ELIP.

Currently for scriptpubkey 0014aa..aa, we hash 01ff160014aa...aa
After this we hash ff0014aa..aa
Not sure what's the appropriate thing to do here,
we can go with this MR and change the ELIP test vectors,
we can serialize in a different way,
or edit the ELIP to match the implementation.

Agreed this is better. Though would be very easy to change the ELIP to say "you have to encode 01ff" rather than "you have to encode ff".
I guess, the question is, is this used anywhere and what would be the consequence of breaking it?

is this used anywhere and what would be the consequence of breaking it?

It is exposed by lwk but I've no evidence of anyone using this in prod.
So in theory we're in time to change this if we prefer.

I have no preference and I'm not involved with lwk at all. So you need to make the call (or find somebody who will).
Just let me know.

@apoelstra
I think minimal disruption is changing the ELIP,
opened https://github.com/ElementsProject/ELIPs/pull/13
I'll close this once that is merged

We chose to amend the ELIP, closing


triggers unhandled promise rejection that we cannot prevent

Environment details

OS: linux
Node.js version: 10
npm version: 7
@google-cloud/spanner version: 5.5.0

Steps to reproduce
Create this js file and run it (no need for a spanner instance to be setup).
This sample will try to connect to spanner with an unexisting instance name just because it's simpler to simulate the error this way, but  it seems to occur with any error.. It will result in an error when doing the insert. The error will be caught in the catch statement, but it will also throw an unhandled promise rejection. The promise rejection that cannot be caught without unhandledRejection event is not a desired behavior for a 3rd party library.
const {Spanner} = require("@google-cloud/spanner");

run();

async function run() {
    try {
        const spanner = new Spanner({
            projectId: 'somebrokenprojectid',
        });

        const instance = spanner.instance("somebrokeninstance");
        const database = instance.database("somedb");

        const table =  database.table("sometable");

        console.log('insert data');

        await table.insert([{somekey: "somevalue"}]);
    } catch (e) {
        console.error('caught exception', e.message)
    }
}

Thanks

@AVaksman would you please be able to take a look?

@AVaksman friendly ping on this issue.

@gsouf  We a discussing a couple of ways of solving the reported issue.
Could you please share the unhandled promise rejection error message you are experiencing.

Hi @AVaksman thanks for looking into this issues.
With the code from the example in my initial message I get this error:
caught exception 7 PERMISSION_DENIED: Caller is missing IAM permission spanner.sessions.create on resource projects/somebrokenprojectid/instances/somebrokeninstance/databases/somedb.
(node:354) UnhandledPromiseRejectionWarning: Error: 7 PERMISSION_DENIED: Caller is missing IAM permission spanner.sessions.create on resource projects/somebrokenprojectid/instances/somebrokeninstance/databases/somedb.
    at Object.callErrorFromStatus ([...]/node_modules/@grpc/grpc-js/build/src/call.js:31:26)
    at Object.onReceiveStatus ([...]/node_modules/@grpc/grpc-js/build/src/client.js:176:52)
    at listener.onReceiveStatus ([...]/node_modules/@grpc/grpc-js/build/src/call-stream.js:65:35)
    at Object.onReceiveStatus ([...]/node_modules/grpc-gcp/build/src/index.js:73:29)
    at InterceptingListenerImpl.onReceiveStatus ([...]/node_modules/@grpc/grpc-js/build/src/call-stream.js:60:23)
    at Object.onReceiveStatus ([...]/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:336:141)
    at Object.onReceiveStatus ([...]/node_modules/@grpc/grpc-js/build/src/client-interceptors.js:299:181)
    at process.nextTick ([...]/node_modules/@grpc/grpc-js/build/src/call-stream.js:130:78)
    at process._tickCallback (internal/process/next_tick.js:61:11)
(node:354) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:354) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

But maybe I went astray because I cannot reproduce the unhandled rejection in other cases, so maybe this does not occur everytime as I thought at first. I'll provide feedback if I can reproduce it again

Currently API optimizes the performance for the most commonly used workflow,  which is
initialize spanner client -> create instance object -> create database object -> write or read data.
In the workflow above API will try to pre-fill a session-pool at a point of database object initialization to provide maximum performance with the very first data read/write.
PERMISSION_DENIED is thrown due to "somebrokenprojectid" doesn't exist.
The workaround for the your sample would be not to create any session with database object initialization. It could be done by passing {min: 0} as SessionPoolOptions argument. This way the error will be caught in the catch statement.
const {Spanner} = require("@google-cloud/spanner");

run();

async function run() {
    try {
        const spanner = new Spanner({
            projectId: 'somebrokenprojectid',
        });

        const instance = spanner.instance("somebrokeninstance");
        const database = instance.database("somedb", {min: 0});

        const table =  database.table("sometable");

        console.log('insert data');

        await table.insert([{somekey: "somevalue"}]);
    } catch (e) {
        console.error('caught exception', e.message)
    }
}

@gsouf I think it would mean that the first batch of sessions are created when executing the first request so there will be a small increase in latency for the first request. But sessions are created in batches so for subsequent requests, it shouldn't be an issue.
In any case, #1332 will handle the specific case you came across in your first comment so you won't need to use {min: 0}.

@AVaksman is that going to decrease performances of the connection?

Exactly as @skuruppu explained, now that #1332 is merged, there is no need for workaround anymore.
The only time the first query will have increase in latency is if at the time of const database = instance.database("somedb"); is executed the project, instance or database does not exist.


Error when installing ffcv from ctime.

When trying to install ffcv following the instructions from the repo README.md, i.e creation of conda environment followed by pip install, I encounter the following issue when doing pip install ffcv:
 /root_dir/miniconda3/envs/pysparse/x86_64-conda-linux-gnu/include/c++/11.2.0/ctime:80:11: error: 'timespec_get' has not been declared in '::'
         80 |   using ::timespec_get;
            |           ^~~~~~~~~~~~
      error: command '/root_dir/miniconda3/envs/pysparse/bin/x86_64-conda-linux-gnu-cc' failed with exit code 1

Having commented these lines
//#if __cplusplus >= 201703L && defined(_GLIBCXX_HAVE_TIMESPEC_GET)
//#undef timespec_get
//namespace std
//{
// using ::timespec;
//  using ::timespec_get;
// } // namespace std
//#endif

I managed to install ffcv and it works fine, but what can be the potential  cause of this error? Seems like it is related to compilers.

Same  issue

Anyone found a proper solution to this problem?

I downgraded compilers from 1.5.2 to 1.5.0 and it seems to have sorted the problem for me

@tavisshore  good to know. Anyway, dumb solution with editing ctime works with a newer version of compilers, but it is cleaner solution.


Memory leak with dynamic html + All components

Prerequisites

[X] I have searched for duplicate or closed issues
[X] I have validated any HTML to avoid common problems
[X] I have read the contributing guidelines

Describe the issue
Tooltip (popover) on dynamically added html elements are not getting cleared from the ElementMap after removing that html. If we reinsert the html content, elementMap is getting created with new entries and old element entries never gets removed.
Reduced test cases

Open https://vishnutk.github.io/bootstrap/
Open browser console in debugger
Click on Template Toggle button
Mouseover on Template Dynamic Button 1
Watch for the console log
Click on Template Toggle button to remove html
Mouseover on Template Dynamic Button 1
Watch for the console log

Everytime the new entry gets added in the ElementMap.
Reason: elementMap.has is checking by reference but we are getting new element.
const Data = {
            set(element, key, instance) {
              if (!elementMap.has(element)) {
                elementMap.set(element, new Map());
              }

              const instanceMap = elementMap.get(element);

What operating system(s) are you seeing the problem on?
macOS
What browser(s) are you seeing the problem on?
Chrome, Firefox
What version of Bootstrap are you using?
v5.2.3

Please provide a PR with a test case.


Move release related sections into own README file

the release related sections are not important for
most of the contributors, so there is no need
to include them in default README (it is big enough
even without them).

Merged into master https://github.com/droolsjbpm/droolsjbpm-build-bootstrap/commit/ae34c378ae4e4e1ad88a2aac03278f5864aa147a and cherry-picked into 6.3.x


Implement go to first/last line

Mobile (iOS) has commands "Go to first line" and "Go to last line" but Desktop (macOS) does not.
This is a problem if one wants to create a common macro across devices using a community plugin like Commander.
I thought about creating another plugin, but I thought it would be beneficial for other users to have this feature included, so I
created a pull request.
I hope you will consider merging this.

Looks great, thanks for contributing!

Thank you!