[BEAM-9731] Include more detail in passert.Equals errors.

This change reworks passert.Equals to collect all of the missing and
unexpected values in a single output string to make debugging easier.
The new Equals function uses a similar structure to Diff internally.

Moves passert.Equals to its own file, since it got big.
Includes string form of each out-of-place entry in error message.
Adds summary info (number of missing/unexpected/correct entries).
Adds tests for passert.Equals.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

R: @lostluck
Some notes:
I chose a somewhat gawdy format for this just to make it very highly visible and easy-to-read on the terminal. I find it works pretty well, but I'm open to suggestions. Here's the output from one of the test cases:
actual PCollection does not match expected values
=========
2 correct entries (present in both)
=========
1 unexpected entries (present in actual, missing in expected)
+++
too many
=========
1 missing entries (missing in actual, present in expected)
---
not enough

The checklist suggests updating CHANGES.md. This seems a bit small for that.
This is covered by the Google CLA.
Thanks for the review!

In a post experimental SDK world, we'll need to be updating CHANGES.md properly. Currently the Go SDK isn't officially part of beam releases, so it would be confusing messaging to update it. That should change in the next few months though!

...and that should be everything.

Retest this please
(signaling jenkins)

Retest this please


libgflags link error

Hi,thanks for your work
when I run "./slam -c robust_high_frequency_config.yaml" ,the output is "error while loading shared libraries: libgflags.so.2.2: cannot open shared object file: No such file or directory". I have install gflag in “usr/local/”. And I can't find where link gflags in cmakelists.txt.
hope for your reply,thanks a lot.

it seems well now after install libgflags. but it has “Segmentation fault” when parse param with "OPTION_CLAUSE" function.

Hi,
Do you have an error associated with the Segmentation Fault (perhaps before) ?
Have you tried to debug (with a breakpoint) to know precisely where is the errror ?
I will need a bit more to be able to help you,
Best Regards,

thanks,
Segmentation Fault  does not occur before.
Segmentation Fault comes from parse param part with "OPTION_CLAUSE" function. I have debug it,it cannot parse any param successfully.

OPTION_CLAUSE is a MACRO, so you can look at the code it generates to see if there is any problem.
So i understand that it fails at  "OPTION_CLAUSE(icp_node, icp_options, threshold_voxel_occupancy, int);"
In the main script, is that right ?
Can you:

Give your system specifications (OS, compiler with version, etc..)
Print the YAML Node before calling the OPTION_CLAUSE

ok,
my OS: Ubuntu16.04
compiler with version :gcc8
And i print yaml node in "SLAMOptions read_config(const std::string &config_path)" function,the output is:
slam_node: max_num_threads: 1
save_trajectory: true
suspend_on_failure: false
output_dir: .outputs
all_sequences: true
sequence: ""
start_index: 0
max_frames: -1
display_debug: true
dataset_options:
dataset: NCLT
root_path: /home/cidi/slam_data/ct-slam/2012-01-08
fail_if_incomplete: false
min_dist_lidar_center: 0.5
max_dist_lidar_center: 100.0
nclt_num_aggregated_pc: 220
odometry_options:
voxel_size: 0.3
sample_voxel_size: 1.5
max_distance: 200.0
max_num_points_in_voxel: 20
debug_print: true
min_distance_points: 0.15
distance_error_threshold: 100.0
motion_compensation: CONTINUOUS
initialization: INIT_NONE
init_num_frames: 20
robust_registration: true
robust_full_voxel_threshold: 0.6
robust_num_attempts: 3
robust_max_voxel_neighborhood: 4
robust_threshold_relative_orientation: 2
robust_threshold_ego_orientation: 2
log_to_file: false
debug_viz: true
ct_icp_options:
size_voxel_map: 0.8
num_iters_icp: 30
min_number_neighbors: 20
threshold_voxel_occupancy: 5
voxel_neighborhood: 1
max_number_neighbors: 20
max_dist_to_plane_icp: 0.5
power_planarity: 2
threshold_orientation_norm: 0.1
threshold_translation_norm: 0.01
debug_print: false
point_to_plane_with_distortion: false
distance: CT_POINT_TO_PLANE
num_closest_neighbors: 1
beta_location_consistency: 0.001
beta_constant_velocity: 0.000
beta_orientation_consistency: 0.000
beta_small_velocity: 0.01
solver: CERES
debug_viz: true
min_num_residuals: 200
max_num_residuals: 600
loss_function: CAUCHY
ls_max_num_iters: 10
ls_num_threads: 8
ls_sigma: 0.2
ls_tolerant_min_threshold: 0.05
Segmentation fault (core dumped)

and i'm confused with "kitti_raw_transform_trajectory_frame()" function:
R_Tr,T_Tr: does this mean extrinsic lidar to left camera ,T_lidar2came;
center_R,center_t: does this mean lidar absolute pose ,T_lidar2world;
And follows transformation means T_lidar2cameT_lidar2worldinv(T_lidar2came)? it seems not right.
center_R = R_Tr * center_R * R_Tr.transpose();
center_t = -center_R * T_Tr + T_Tr + R_Tr * center_t;
thanks a lot.

T_lidar2came * T_lidar2world * inv(T_lidar2came)

Hi,
I rebuild it with gcc-9,it works when build with ".\ct_icp_build.sh Release "Unix Makefiles" ON OFF" ,but failed with ".\ct_icp_build.sh Release "Unix Makefiles" ON ON". the output is "Target glfw could not be found". the glfw has installed in "cmake-build-Release/external" path,but cann't link well.
hope for your reply,thanks.

I have fixed it by replace "find_package(glfw3 REQUIRED CONFIG PATHS ${GLFW_DIR})" with "find_package(glfw3 3.3 REQUIRED CONFIG PATHS ${GLFW_DIR})" in external.cmake file.

So it didn't work with gcc8 ? That is strange as I had no problem with gcc-7.5. I will investigate.
Your latest problem is probably due to conflicting glfw installed on your system and cmake-build-Release/external
The "proper way" to fix it would be to add NO_DEFAULT_PATH to the cmake command
find_package(glfw3 REQUIRED CONFIG PATHS ${GLFW_DIR} NO_DEFAULT_PATH)

yes, gcc8 didn't work.
I build successfully with "find_package(glfw3 REQUIRED CONFIG PATHS ${GLFW_DIR} NO_DEFAULT_PATH)"
and the last problem about "center_R = R_Tr * center_R * R_Tr.transpose()", I understand the first "R_Tr" means transformation from lidar odometry to visual odometry . because the two odometry start at the same time.so the extrinsic pram means the two odometry's transformation.
thanks a lot.

And by the way, how to change pcd file to ply used in ct-icp. I found the "writeFile()" function in "PlyFile.h" ,but I cann't use it well. thanks.


[WIP] Integrations Developer's Panel - Easy Fixtures

Issue #12122 has extensive discussion on this.
As of opening this PR, about 50% of the work for this feature is complete. But the next 50% will be much easier now since I've figured out certain things.
It took me more time than I'm willing to admit to learn about Zulip's frontend system as well as to get comfortable with programming in JS (I actually kinda enjoyed this, I got a lot better here) and styling with CSS (still not really good at this, though I'm a bit better now) . If it weren't for Zulip's documentation on it's static asset pipeline I would have completely ripped my hair out in frustration.
What's remaining:

Adding support for specifying the stream and topic.
The backend which does the actual send to stream part.
Improve page styling and give it some "Zulip flair".
Extensive manual testing (basically trying to see if I can break anything...)
Adding backend tests
Adding frontend tests (I'd appreciate it if someone could briefly explain what I need to test on the frontend side, adding node tests for everything would take a lot of time)
Updating the documentation

@timabbott and @eeshangarg I'd love a quick high-level review :slightly_smiling_face:

Here's what the GUI currently looks like:

Nothing too fancy, but it's something to start with I guess...

@eeshangarg and @timabbott I've completed the functional aspects of this feature and I think that it's now ready for a serious round of review.

Also, I tested the panel locally, and whenever I sent a message it displayed "success" but there was no message when I logged back in to the main app. Am I doing something wrong?

Oh, I really not sorry for clearly mentioning this earlier, but I was only showing the basic GUI there and I, at that point in time, didn't add the main functionality itself. If you try it out now, you should be able to see the message.

Just added an extra commit to mention the IDP in the incoming webhook walkthrough.

Thanks a lot for the review @eeshangarg! I've made the changes you've suggested and I've also made a separate sub-section in the documentation for the manual testing tools, any other suggestions? :slightly_smiling_face:

@eeshangarg I've made the docs changes!

@Hypro999: I just tested the implementation and it worked! And the docs look good as well now! One last piece of feedback, I think the documentation can be a part of the first commit as well, it doesn't need its own commit because it makes sense to document the feature in the same commit where you added it!
I really love that we have a GUI to test integrations now, so thanks for working on this! However, once Tim does a round of review and you address his feedback, we should probably spend less time on the developer side of things and start working on some of the other high-priority projects on the user-facing UI side! Thanks again! Cheers! :)

we should probably spend less time on the developer side of things and start working on some of the other high-priority projects on the user-facing UI side!

Yup, this served as a good warm up project for that!

I think the documentation can be a part of the first commit as well, it doesn't need its own commit because it makes sense to document the feature in the same commit where you added it!

Makes sense, I've done so :)

OK, I just took a look at this.  Overall, this is great progress.
A few follow-up requests:

[blocker]: We should not be tagging strings for translation under zerver/views/development like we do with the tests; instead, we should be excluding these files from the i18n linter rules:

        {'pattern': r'\Wjson_error\(_\(?\w+\)',
         'exclude': set(['zerver/tests']),
         'description': 'Argument to json_error should be a literal string enclosed by _()',
         'good_lines': ['return json_error(_("string"))'],
         'bad_lines': ['return json_error(_variable)', 'return json_error(_(variable))']},
        {'pattern': r'''\Wjson_error\(['"].+[),]$''',
         'exclude': set(['zerver/tests']),
         'description': 'Argument to json_error should a literal string enclosed by _()'},
        # To avoid JsonableError(_variable) and JsonableError(_(variable))
        {'pattern': r'\WJsonableError\(_\(?\w.+\)',

Otherwise, we're wasting our translators' time on strings that only appear in a development environment.

[could be follow-up]: We should have default values for a bunch of the options (e.g. "Denmark" if available as a stream, "integrations test" as the topic, and "incoming-webhook-bot" if available as a bot option, "github" as the integration, etc.), so that one can start out by just clicking send; this will make it lot more convenient to use.

Re: @eeshangarg's comment on dev tools; I actually think it's totally worth putting a couple more weeks of effort into making this really nice over working on specific integrations.

I made the changes, but I'm opposed to the second suggestion/request. Here's why:

We should have default values for a bunch of the options (e.g. "Denmark" if available as a stream, "integrations test" as the topic, and "incoming-webhook-bot" if available as a bot option, "github" as the integration, etc.)

The default behavior of an incoming webhook bot is to send messages to the owner as private messages. This happens when the stream and topic are both absent. I personally think that it makes more sense from a UX perspective to have the user fill an option rather than delete/replace the default option(s) to replace the default behavior of an integration. That's what we're doing here at the moment.
Though, we could default the bot to the Zulip Incoming Webhook bot and that's something that I went ahead and added.

@timabbott changes made :+1:

@eeshangarg we might be ready to merge this.

Important follow-ups pending (in order of importance):

Add support for custom HTTP headers -> for now this will be an empty text-field until we figure out a good system for storing the headers as part of the fixtures themselves.
Add a send all option for making reviewing easier.
Add support for non-JSON fixtures.

The default behavior of an incoming webhook bot is to send messages to the owner as private messages. This happens when the stream and topic are both absent. I personally think that it makes more sense from a UX perspective to have the user fill an option rather than delete/replace the default option(s) to replace the default behavior of an integration. That's what we're doing here at the moment.

I think that's not really correct.  Yes, the webhook code will send PMs if the user doesn't specify a stream, but if you look at our integration docs, we always recommend specifying a stream.  So the actual default behavior from a user perspective is to send to a stream, and I think it makes sense for us to follow that convention for this debugging tool (since ultimately, one is hoping to see what users will see if they follow our setup documentation).
For custom HTTP headers, I think I'd prefer to have that be something we handle transparently for the user on the backend (maybe with a non-editable display window).  Here's the design I have in mind:

We come up with a convention for how to map a fixture name to the expected HTTP headers, and use it in both our unit tests and this tool.  E.g. for GitHub, right now we have tests that look like this:

    def test_ping_event(self) -> None:
        expected_message = u"GitHub webhook has been successfully configured by TomaszKolek."
        self.send_and_test_stream_message('ping', self.EXPECTED_TOPIC_REPO_EVENTS, expected_message,\
 HTTP_X_GITHUB_EVENT='ping')

and the convention is that we end up using this function to get the fixture, computed from the fixture name:
    def get_body(self, fixture_name: str) -> Union[str, Dict[str, str]]:
        """Can be implemented either as returning a dictionary containing the
        post parameters or as string containing the body of the request."""
        return ujson.dumps(ujson.loads(self.webhook_fixture_data(self.FIXTURE_DIR_NAME, fixture_name)))

Well, we could add a function in the github/view.py like this:
def get_http_headers(fixture_name: str) -> Dict[str, str]:
    return dict(HTTP_X_GITHUB_EVENT=fixture_name.split("__")[0])

and call those functions from the send_and_test_stream_message test class to get default headers if they aren't passed in (replacing the manual header arguments in cases where we're not trying to test specific different headers).
(that would be a version where we rename the fixture files to have a __ between the event type and the rest of the fixture name to make this setup work.)

Merged as the commits ending with 7f2fcea794bb947c90d87c9df8949daceecf8faa (which does what I had in mind for the linter), thanks @Hypro999!
I agree the next step is to work on HTTP headers; see my commentary above for a design idea that I think would be pretty maintainable. (though I'd love any discussion on it!)

I think that's not really correct. Yes, the webhook code will send PMs if the user doesn't specify a stream, but if you look at our integration docs, we always recommend specifying a stream. So the actual default behavior from a user perspective is to send to a stream, and I think it makes sense for us to follow that convention for this debugging tool (since ultimately, one is hoping to see what users will see if they follow our setup documentation).

Ah, this makes perfect sense, I'll also default the stream and topic. But I'm still not too sure about defaulting the integration and fixture, since the person opening the tool would generally have a particular integration that they want to test in mind.


Create Character “constance-oakborn”

Automatically generated by Netlify CMS

👷 Deploy Preview for dynamic-cheesecake-5fbd8b processing.

Name
Link

🔨 Latest commit
af21bd8d20d64d730e582f2de695445ca043813e

🔍 Latest deploy log
https://app.netlify.com/sites/dynamic-cheesecake-5fbd8b/deploys/63372ff5d824ed000852be0b


Web profiler docs

As great as the Web Profiler is it is not in the documentation or included with Silex. Even though it is not part of the main repo I would like to add some documentation about the Web Profiler to Silex.

Perhaps it should be a cookbook entry as it's not part of the main repo?

a cookbook about using the profiler would be awesome!

This should be documented in the provider repo, not in Silex itself IMO

I will switch it to a cook book and make a pull request for the provider.
Any chance we can include the Web Profiler with Silex for future releases?

Including the web profiler with Silex is indeed possible, but we need to stop somewhere in the number of things we ship by default. And as the web profiler is not needed by everyone, I think it should be included by default (think of people doing only web services with Silex, which is one of the biggest usage for Silex.) With Composer, I should be easy to integrate the web profiler and having a cookbook in the official documentation will help a lot as well.

The profiler is the only provider that is not included that I would like added in. It is the only provider that has its own repo under (silexphp) [https://github.com/silexphp]. Ill add it as a suggestion in composer.

I don't think it should be added by default. Its pretty easy and fast to just include it in your composer file + add the few lines it requires to work.

Since it shouldn't be a requirement I added it as a suggestion. Is this OK?

@yamiko-ninja I would rather split more providers out of the core rather than including new ones.
It would allow a better management of dependencies btw. With optional dependencies, you rely on your user to tell composer what the compatible version of the dependency is, which means that any bump of the min requirement is technically a BC break (because you don't control the requirement)

@stof I removed the suggestion. I am all for splitting them up if it meant better dependency management but thats a different conversation.
Ill leave i as documentation in the cookbook.

Adding the suggestion was a good idea!

@fabpot do you think I should include it as a suggestion, requirement or not at all?

I've added a note about the web profiler in the docs: see 22d47c8


Update disable_circuit_breaking.rst

Based on https://github.com/envoyproxy/envoy/issues/11445
It fixes a wrong configuration example of FAQ for disabling Circuit Breakers.
Risk Level: low
Docs Changes: yes

Thanks! Could you make sure to apply DCO sign-off? https://github.com/envoyproxy/envoy/blob/master/CONTRIBUTING.md#fixing-dco

/retest


Remove unused dependencies

There is a vulnerability in kind-of versions pre-6.0.3, but it looks like you refactored that away but left the dependencies in package.json.
This PR removes the vestigial dependencies.

@jonschlinkert Is this change ok by you?

Related: Validation Bypass kind-of

https://npmjs.com/advisories/1490

Done in #5.


Add 'table-has-role' rule to avoid interpreting tabular data as a layout by accident

As Sara Soueidan has recently pointed out on Twitter, <table> elements may be interpreted as layout containers by mistake unless role="table" is specified. More details are available in the presentation of Paul Duncan.
The implementation could be similar to the html-has-lang rule.

In addition, an exception may be added for cases when table headers or captions are available, according to the tweet of Adrian Roselli.

the crux of the issue is that if someone is building a table without proper column or row headings, or if the table has no accessible name, browsers will drop the semantics because there's no sensible structure to the content.
rather than a rule to auto-add a role=table (which would cause more issues than help) a rule should be written to warn authors that if there is no name to the table (caption, aria-label, or aria-labelledby) or table col/row headers (th elements) that they have created a layout table and should either add the appropriate elements necessary to make it a useful data table, or they should consider using different markup to layout their information.
Along with Adrian's post, also see this one by Steve Faulkner:


Not able to use activateApp

When we try to use
  await browser.removeApp('com.example.appiumTestingApp');
  await browser.installApp(process.env.APP_PATH);
  await browser.activateApp('com.example.appiumTestingApp');

Now we will get sessionId not present.
Reason: When create session is called for the first time server maintains a sessionId. When activateApp is triggered after the removeApp the session is lost.
We need to overload the activeApp at the plugin side.

#32


Don't ignore audio for server bundle

DNM without PJB's permission as it ~triples the size of the server build (40MB to 130MB)

you now have to download the entire git repo to play


Lint gutter width scales with font size.

Closes https://github.com/microbit-foundation/python-editor-next/issues/877

Confirmed initial gutter size is identical in incognito.


Causes crash on server

crash-report

Show me the latest.log. The crash report doesn't contain enough info.

no problem
crash-2024-03-03_00.40.01-server.txt
latest.log

Thank you for the files. Try 20.12.1


Random cell ids in .py -> .ipynb jupytext conversion

With nbformat 5 the cells have random ids which change on each notebook generation from jupytext. This is mildly annoying (big diffs when updating the notebooks) but maybe not that crucial.
This is related to https://jupyter.org/enhancement-proposals/62-cell-id/cell-id.html.

I think the best idea so far is to adapt https://github.com/INRIA/scikit-learn-mooc/blob/5ca67435cfba71b7527437b996e40382872c8892/build_tools/convert-python-script-to-notebook.py#L147 and to do something like this:
json_content = jupytext.writes(nb)
json_dict = json.loads(json_content)
# remove cell ids from json (to be written)
...

with open(filename, "wb") as f:
    json.dump(json_dict, filename)

I don't think trying to have some kind of reproducible ids (in some weak sense of reproducible) to try to minimise the diff is worth the pain.


Change how we handle IMPLEMENTS

Currently the following
@IMPLEMENTS(MyInterface)
class MyClass {}

will be translated into:
class MyClass implements MyInterface {}

This issue with this approach is that MyInterface cannot actually be an interface in TS. It has to be a class. I think we should change it into something like this:
@IMPLEMENTS<MyInterface>
class MyClass {}

So TS does not need MyInterface to be present at runtime.

You mean so that Dart does not need MyInterface to be present at runtime?
Can't we just use TypeScript's native implements?

For background, offline conversation clarified that the motivation behind this is mocking for tests. In Angular, it's apparently common to create a mock for a particular type by writing @IMPLEMENTS(Service) class ServiceMock { someMethod(); /* but not otherMethod() */ }, but leaving most methods out, i.e. only partially implementing.
Because TypeScript compiles away interfaces, they cannot be used in annotations like this. At the same time you cannot just write class ServiceMock implements Service {}, because it obviously doesn't and the compiler checks that (Dart gets around that using noSuchMethod).
Dart on the other hand must have an actual class that actually implements the required type, because checked mode assertions will fail if an object doesn't actually nominally extend a type.
I'm not sure if I'm more amazed or appalled by this creative abuse of the limitations of @IMPLEMENTS and the intersection of TypeScript and Dart.
The only way I can come up with to avoid this is having a service_mock.ts and a service_mock.dart and splitting the class definition - service_mock.ts would just use TypeScript's structural typing to mock, or a crazy cast, service_mock.dart would just have a class ServiceMock extends Mock implements Service {}, but not much more. Both files would have a getServiceMock method that returns the appropriate mock object, and maybe takes a mock control.
While that's a bit more code for the mocked files, I think that'd be much cleaner, and wouldn't abuse a completely unrelated mechanism. It'd also allow us to get rid of @IMPLEMENTS alltogether in the medium term.

Closing this, please reopen if you don't agree @vsavkin.

In https://github.com/angular/angular/pull/3835 @IMPLEMENTS is being removed from angular. When that's in, we can remove the support from ts2dart


ART-268 email owners when their image build fails

Builds on https://github.com/openshift/aos-cd-jobs/pull/1724 so only last three commits are new.
When image builds fail, collect the container logs and email the owners about what happened. Unless a whole lot of images fail; in that case probably something else is going on and we shouldn't spam them.

/assign @adammhaile @tbielawa
I won't hide that I'm pretty pleased with this. See an example of the email sent.
You might wonder why the copy-pasta in the Jenkinsfiles determining whether to email or not. I expect we'll need to do a certain amount of tweaking, balancing how much we spam with trying to be informative. I expect this might vary per job, as well as how we want to respond. I could not think of a way of reconciling "DRY code" and "configurable per job" without it getting complicated or unintuitive. Perhaps something suitably simple will come to me later. For now, the duplicate logic is straightforward.


Adds ability to compile the stdlib in wasm context

This PR shouldn't be needed anymore, right?

Yeah, I think we can close this.


Completed the Task

I have completed the tasks mentioned. I am new to Open Source and Hacktoberfest so I would be happy if you merge my contribution. Thank You!

hey @iPHOENIX-matrix,
there is conflict, please update your repo and add details again

Important Announcement:
Dear Contributors,
I regret to inform you that our repository has been excluded from Hacktoberfest participation due to certain reasons. As a result, any contributions made to this repository during Hacktoberfest will not count towards the event.
We understand that many of you were eager to contribute to our project, and we sincerely apologize for any inconvenience this may cause. We value and appreciate your interest in our work.
If you're still interested in contributing to open source projects for Hacktoberfest, we encourage you to explore other repositories and communities that are participating in the event. There are many exciting projects out there that would greatly benefit from your contributions.
Once again, we apologize for any inconvenience and thank you for your understanding. We hope to welcome contributions to our repository in the future when it becomes eligible for such events.
Best regards,
Jayesh Jain


Application: Subquery

Grant Application Checklist

[x] The application-template.md has been copied, renamed ( "project_name.md") and updated.
[x] A BTC address for the payment of the milestones is provided inside the application.
[x] The software of the project will be released under the Apache license version 2.0 as specified in the terms and conditions.
[x] The total funding amount of the project is below CHF 30k at the time of submission.

What would a Subquery project comprise?

A subquery project is a nodejs project including a project manifest file, graphql schema and user's custom mapping functions.

What do you mean by compile and pack the project?

Subquery project is written in typescript so we will need to compile it into js. And then perform npm pack to put all parts into a tarball file. In this proposal, the @subql/node will be given the path to this file and load it from local disk. And in the future we will support other ways of transmission.

You list an indexer as a prerequisite, but then you go on to say in Milestone 1.2 that your node will index the data. So could you please clarify whether the indexer is part of your grant or not?

Indexer is not a prerequisite but an archive node is. I will update the proposal to make it more clear.

will execute mapping functions in a sandbox executor one way or another.

We are looking into several sandbox approaches. WASM is a mature way, though it is very challenging to make @polkadot/api available in AssemblyScript.  The promising way at the moment is to use vm2 and run @subql/node in k8s with Network Policy configured. I will state this approach explicitly in the proposal to avoid  ambiguity.

How do you plan to make our best effort to keep the indexing result deterministic.? We will need a little bit more detail than this. Please conduct appropriate research on how/when Polkadot blocks can be considered finalised and at which point they should be indexed.

We are aware of the finality mechanism, @subql/node will only feed finalised blocks to the mapping functions. The statement you pointed out is refer in particular to storage queries within mapping function. @polkadot/api access is one essential feature we are keen to keep in the proposal, but to avoid user querying latest states instead of state of the specific block under process, we will make some patch to the instance of api before injecting it into executor's context for mapping functions to use, which will lock the storage query to a block without user to use .at(blockHash). (which makes it effective for derive queries as well)

What is the difference between deliverables of milestones 1.1 and 2.1?

In milestone 2.1 we plan to make improvements on the ease of use. Comparing with 1.1, creating a scaffold is not that essential to the whole user flow.

@ianhe8x Thank you for a clear response. I have a few additional follow-ups:

It would also help if you could be a bit more specific on explaining the scaffolding in M2.1 - it should be detailed enough that we can later assess whether the functionality of your delivered code meets the milestones.
In addition, perhaps you could elaborate on the handlers from M1.2.1 and how one could make use of them?
We've got another project developing an ETL solution for Polkadot (it's currently under development). While the documentation is still somewhat sparse there, perhaps you could have a look into what they were proposing and try to identify how you plan to stand out? I can also put you in touch with their team if you'd like, see whether you could collaborate?
Assuming the user leverages an existing archive node, what are the computing resources required for running the @subql/node by the user? I assume that since an archive node is required, the node will index historical data, right?

Subquery project is written in typescript so we will need to compile it into js. And then perform npm pack to put all parts into a tarball file. In this proposal, the @subql/node will be given the path to this file and load it from local disk.

Would you mind including the above in the deliverables also, please?

Please also include unit & integration tests in the deliverables.

More details are added for M1.1 and M2.1
We are not meant to build another ETL solution, explanation added in the proposal.
Requirements for running @subql/node are updated. Archive node is not always required depends on actual use case, even though it is not hard to get access to, people can use the free service we onfinality provide.
Add testing as deliverables, I thought they are implied but never mind now.

@ianhe8x Thanks for the updates.
What I meant with:

In addition, perhaps you could elaborate on the handlers from M1.2.1 and how one could make use of them?

was to explain how this works. So just by seeing a name event handler, I would imagine that a user defines some Substrate-recorded event (e.g, transfer) and defines some callback function to be triggered when such an event occurs. So am I right in understanding it? If so, how can such callback functions be supplied? Are they pre-defined or user-defined?

Add testing as deliverables, I thought they are implied but never mind now.

Thanks. The application looks good to me.

@mmagician Thanks for the feedbacks. Yes, those handlers are user defined and be packed from the SubQuery project that user created. I've update the statement to make it more clear.
@Noc2 Thanks for the feedbacks. I've update milestone 2 and the total cost.


Cross-compiling for x86_64 on arm mac fails

Describe the bug
When I try to cross-compile for x86_64 from an ARM mac, it fails with error: unknown target CPU 'armv8-a+crypto'. It appears that ABSL_RANDOM_HWAES_ARM64_FLAGS has -march=armv8-a+crypto and is the cause of this problem.
Steps to reproduce the bug
Run cmake -DCMAKE_OSX_ARCHITECTURES=x86_64 -DCMAKE_OSX_DEPLOYMENT_TARGET=10.14 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=17 && make ... on an ARM mac.
What version of Abseil are you using?
Latest LTS, 20210324.2
What operating system and version are you using
macOS 11.2.3
What compiler and version are you using?
Apple clang version 12.0.5 (clang-1<IP_ADDRESS>)
Target: arm64-apple-darwin20.3.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
What build system are you using?
cmake version 3.20.3

is there any workaround for this issue?

I don't have a machine with the specific configuration needed to test this one.
Can someone affected by this issue try https://github.com/derekmauro/abseil-cpp/commit/6d09f76eef7efc8cca1215054ba4ea9bcd12a8ed?

I don't have a machine with the specific configuration needed to test this one.
Can someone affected by this issue try derekmauro@6d09f76?

The workaround does not work. Is there a way to set ABSL_RANDOM_HWAES_ARM64_FLAGS ?

I don't have a machine with the specific configuration needed to test this one.
Can someone affected by this issue try derekmauro@6d09f76?

The workaround does not work.

Can you share the failing command and the error message?

I see the same error: error: unknown target CPU 'armv8-a+crypto'.
My objective was to get things working for Unity Apple Silicon, which uses libgrpc_csharp_ext and is blocked by this bug.
Workaround:
Patching AbseilConfigureCopts.cmake with the following resolves the issue:
diff --git a/absl/copts/AbseilConfigureCopts.cmake b/absl/copts/AbseilConfigureCopts.cmake
index 9cd6fd1..143f2de 100644
--- a/absl/copts/AbseilConfigureCopts.cmake
+++ b/absl/copts/AbseilConfigureCopts.cmake
@@ -19,7 +19,9 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64|amd64|AMD64")
     set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_X64_FLAGS}")
   endif()
 elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm.*|aarch64")
-  if (CMAKE_SIZEOF_VOID_P STREQUAL "8")
+  if(CMAKE_OSX_ARCHITECTURES MATCHES "x86_64")
+    set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_X64_FLAGS}")
+  elseif(CMAKE_SIZEOF_VOID_P STREQUAL "8")
     set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_ARM64_FLAGS}")
   elseif(CMAKE_SIZEOF_VOID_P STREQUAL "4")
     set(ABSL_RANDOM_RANDEN_COPTS "${ABSL_RANDOM_HWAES_ARM32_FLAGS}")

As you can see I'm special casing a single architecture build here. I use the following command with $arch = 'x86_64', 'arm64' arches for
cmake -B ../build/cmake-build-release-$arch -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=$arch -G Xcode -DCMAKE_CXX_FLAGS="-isysroot/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"

Re: https://github.com/grpc/grpc/issues/25059
To create the multi-arch binaries for grpc I use lipo. This is better for Unity because it's simpler to replace the one binary file and not touch the [DllImport ... ] glue code.


change checks of ODO_SRC_PATH/src in tests and also add new nodejs-10 image

What kind of PR is this?

/kind bug
What does does this PR do / why we need it:
Due to recent change in the s2i image for nodejs in openshift 4.3. The /tmp/src directory doesn't hold the code anymore because it gets moved.
We know this happens for some images and we have a workaround in the odo-init-image. But our test for nodejs assumes that source is present in /tmp/src, due to which they are failing on openshift 4.3.
Also add the new nodejs-10 image to supported image.
Which issue(s) this PR fixes:
Fixes https://github.com/openshift/odo/issues/2357
Fixes https://github.com/openshift/odo/issues/2359
How to test changes / Special notes to the reviewer:
tests should pass on 4.3 cluster

so this issue https://github.com/openshift/odo/issues/2359 is failing on this PR

/hold

Debug mode seems to be failing

/hold cancel

I have a silly question. How do we know which tests need to be changed to use nodejs:8 instead of nodejs? I mean, in spite of the latest commit pushed to address the test failures, there are still various places in the code where we're using nodejs, no? @girishramnani @kadel

I have a silly question. How do we know which tests need to be changed to use nodejs:8 instead of nodejs? I mean, in spite of the latest commit pushed to address the test failures, there are still various places in the code where we're using nodejs, no? @girishramnani @kadel

in the tests where we changed to nodejs:8 the internals are being tested.

/hold cancel

Review comments are addressed. Thanks @girishramnani
/approve


[supply] ignores skip_upload_changelogs

New Issue Checklist

[X] Updated fastlane to the latest version
[X] I read the Contribution Guidelines
[X] I read docs.fastlane.tools
[X] I searched for existing GitHub issues

Issue Description

I pass a skip_upload_changelogs: true to supply. However the supply fails with the next error Could not find release for version code 'X' to update changelog
I expect the supply do not to touch the changelog if I am not asking for it. It makes me impossible to just update metadata without making and uploading a build
Command executed

Complete output when running fastlane, including the stack trace and command used

INFO [2023-01-23 13:22:59.17]: --------------------
INFO [2023-01-23 13:22:59.17]: --- Step: supply ---
INFO [2023-01-23 13:22:59.17]: --------------------

+------------------------------------+--------------------------------------+
|                        Summary for supply 2.211.0                         |
+------------------------------------+--------------------------------------+
| skip_upload_changelogs             | true                                 |
| package_name                       | my.app                      |
| skip_upload_apk                    | true                                 |
| skip_upload_aab                    | true                                 |
| track                              | internal                             |
| release_status                     | draft                                |
| version_code                       | 592                                  |
| metadata_path                      | ./fastlane/metadata/android          |
| json_key                           | fastlane/pc-api-google-play-api.json |
| skip_upload_metadata               | false                                |
| skip_upload_images                 | false                                |
| skip_upload_screenshots            | false                                |
| track_promote_release_status       | completed                            |
| validate_only                      | false                                |
| check_superseded_tracks            | false                                |
| timeout                            | 300                                  |
| deactivate_on_promote              | true                                 |
| changes_not_sent_for_review        | false                                |
| rescue_changes_not_sent_for_review | true                                 |
| ack_bundle_installation_warning    | false                                |
+------------------------------------+--------------------------------------+

DEBUG [2023-01-23 13:22:59.18]: Fetching a new access token from Google...
WARN [2023-01-23 13:23:00.59]: Lane Context:
INFO [2023-01-23 13:23:00.59]: {:DEFAULT_PLATFORM=>:android, :PLATFORM_NAME=>nil, :LANE_NAME=>"google_play_upload_metadata", "VERSION_CODE"=>592}
ERROR [2023-01-23 13:23:00.59]: Could not find release for version code '592' to update changelog
INFO [2023-01-23 13:23:00.60]: Successfully generated documentation at path

+------+-------------------------+-------------+
|               fastlane summary               |
+------+-------------------------+-------------+
| Step | Action                  | Time (in s) |
+------+-------------------------+-------------+
| 1    | default_platform        | 0           |
| 2    | Switch to prebuild lane | 0           |
| 3    | number_of_commits       | 0           |
| 4    | copy_files              | 0           |
| 5    | increment_version_code  | 0           |
| 💥   | supply                  | 1           |
+------+-------------------------+-------------+

DEBUG [2023-01-23 13:23:00.61]: All plugins are up to date
ERROR [2023-01-23 13:23:00.61]: fastlane finished with errors
DEBUG [2023-01-23 13:23:00.61]: All plugins are up to date
/usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane_core/lib/fastlane_core/ui/interface.rb:141:in `user_error!': \e[31m[!] Could not find release for version code '592' to update changelog\e[0m (FastlaneCore::Interface::FastlaneError)
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in `method_missing'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/supply/lib/supply/uploader.rb:89:in `block in perform_upload_meta'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/supply/lib/supply/uploader.rb:84:in `each'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/supply/lib/supply/uploader.rb:84:in `perform_upload_meta'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/supply/lib/supply/uploader.rb:35:in `perform_upload'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/actions/upload_to_play_store.rb:33:in `run'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:229:in `chdir'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:229:in `execute_action'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing'
        from Fastfile:21:in `block in parsing_binding'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/lane.rb:33:in `call'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:45:in `execute'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/commander-4.6.0/lib/commander/command.rb:187:in `call'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/commander-4.6.0/lib/commander/command.rb:157:in `run'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/commands_generator.rb:354:in `run'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/commands_generator.rb:43:in `start'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/bin/fastlane:23:in `<top (required)>'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/bin/fastlane:25:in `load'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/bin/fastlane:25:in `<main>'
/usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane_core/lib/fastlane_core/ui/interface.rb:141:in `user_error!': Could not find release for version code '592' to update changelog (FastlaneCore::Interface::FastlaneError)
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in `method_missing'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/supply/lib/supply/uploader.rb:89:in `block in perform_upload_meta'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/supply/lib/supply/uploader.rb:84:in `each'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/supply/lib/supply/uploader.rb:84:in `perform_upload_meta'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/supply/lib/supply/uploader.rb:35:in `perform_upload'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/actions/upload_to_play_store.rb:33:in `run'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:263:in `block (2 levels) in execute_action'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/actions/actions_helper.rb:69:in `execute_action'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:255:in `block in execute_action'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:229:in `chdir'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:229:in `execute_action'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:157:in `trigger_action_by_name'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/fast_file.rb:159:in `method_missing'
        from Fastfile:21:in `block in parsing_binding'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/lane.rb:33:in `call'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:49:in `block in execute'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:45:in `chdir'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/runner.rb:45:in `execute'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/lane_manager.rb:47:in `cruise_lane'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/command_line_handler.rb:36:in `handle'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/commands_generator.rb:110:in `block (2 levels) in run'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/commander-4.6.0/lib/commander/command.rb:187:in `call'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/commander-4.6.0/lib/commander/command.rb:157:in `run'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/commander-4.6.0/lib/commander/runner.rb:444:in `run_active_command'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:124:in `run!'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/commander-4.6.0/lib/commander/delegates.rb:18:in `run!'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/commands_generator.rb:354:in `run'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/commands_generator.rb:43:in `start'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/fastlane/lib/fastlane/cli_tools_distributor.rb:123:in `take_off'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/gems/fastlane-2.211.0/bin/fastlane:23:in `<top (required)>'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/bin/fastlane:25:in `load'
        from /usr/local/Cellar/fastlane/2.211.0/libexec/bin/fastlane:25:in `<main>'

 [REPLACE THIS WITH YOUR INFORMATION]

Environment

 🚫 fastlane environment 🚫
Stack

Key
Value

OS
13.1

Ruby
3.1.2

Bundler?
false

Git
git version 2.39.0

Installation Source
/usr/local/Cellar/fastlane/2.211.0/libexec/bin/fastlane

Host
macOS 13.1 (22C65)

Ruby Lib Dir
/usr/local/Cellar/ruby/3.1.2_1/lib

OpenSSL Version
OpenSSL 1.1.1s  1 Nov 2022

Is contained
false

Is homebrew
true

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
14.2

Swift Version
5.7.2

System Locale

Error

No Locale with UTF8 found 🚫

fastlane files:
`./fastlane/Fastfile`
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#     https://docs.fastlane.tools/plugins/available-plugins
#

# Uncomment the line if you want fastlane to automatically update itself
# update_fastlane

default_platform(:android)

lane :google_play_upload_metadata do
    build_number = prebuild()
    puts "Build number: #{build_number}"
    supply(
        skip_upload_changelogs: true,
        package_name: "my.app",
        skip_upload_apk: true,
        skip_upload_aab: true,
        track: "internal",
        release_status: "draft",
        version_code: build_number.to_s
    )
end

lane :prebuild do
    build_number = number_of_commits(all: true)
    puts build_number
    copy_files(
        source: "./fastlane/metadata/changelog.txt",
        destination: "./fastlane/metadata/android/default/changelogs/#{build_number}.txt"
        )
    increment_version_code(
      gradle_file_path: "app/build.gradle",
      version_code: build_number.to_s
    )
    build_number
end

lane :build_and_upload_metadata do
    build_number = prebuild()
    puts build_number

    sh "./prebuild.sh"
    gradle(task: 'bundle',build_type: 'Release')
    supply(
        package_name: "my.app",
        skip_upload_apk: true,
        track: "internal",
        aab: '../build/app/outputs/bundle/release/app-release.aab',
        release_status: "draft",
        version_code: build_number
    )
end

`./fastlane/Appfile`
json_key_file("fastlane/pc-api-google-play-api.json")
package_name("my.app")

fastlane gems

Gem
Version
Update-Status

fastlane
2.211.0
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-increment_version_code
0.4.3
✅ Up-To-Date

fastlane-plugin-file_manager
0.2.0
✅ Up-To-Date

Loaded gems

Gem
Version

error_highlight
0.3.0

did_you_mean
1.6.1

atomos
0.1.3

rexml
3.2.5

CFPropertyList
3.0.5

claide
1.1.0

colored2
3.1.2

nanaimo
0.3.0

xcodeproj
1.22.0

rouge
2.0.7

xcpretty
0.3.0

terminal-notifier
2.0.0

unicode-display_width
1.8.0

terminal-table
1.8.0

plist
3.6.0

addressable
2.8.1

multipart-post
2.0.0

word_wrap
1.0.0

optparse
0.1.1

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

artifactory
3.0.15

babosa
1.0.4

colored
1.2

highline
2.0.3

commander
4.6.0

faraday-em_http
1.0.0

faraday-em_synchrony
1.0.0

faraday-excon
1.1.0

faraday-httpclient
1.0.1

faraday-multipart
1.0.4

faraday-net_http
1.0.1

faraday-net_http_persistent
1.2.0

faraday-patron
1.0.0

faraday-rack
1.0.0

faraday-retry
1.0.3

ruby2_keywords
0.0.5

faraday
1.10.2

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

http-cookie
1.0.5

faraday-cookie_jar
0.0.7

faraday_middleware
1.2.0

fastimage
2.2.6

gh_inspector
1.1.3

naturally
2.2.1

rubyzip
2.3.2

security
0.1.3

xcpretty-travis-formatter
1.0.1

dotenv
2.8.1

simctl
1.6.8

jwt
2.5.0

uber
0.1.0

declarative
0.0.20

trailblazer-option
0.1.2

representable
3.2.0

retriable
3.1.2

mini_mime
1.1.2

memoist
0.16.2

multi_json
1.15.0

os
1.1.4

signet
0.17.0

googleauth
1.3.0

httpclient
2.8.3

webrick
1.7.0

google-apis-core
0.9.1

google-apis-playcustomapp_v1
0.12.0

google-cloud-env
1.6.0

google-cloud-errors
1.3.0

google-cloud-core
1.6.0

google-apis-iamcredentials_v1
0.16.0

google-apis-storage_v1
0.19.0

rake
13.0.6

digest-crc
0.6.4

google-cloud-storage
1.44.0

emoji_regex
3.2.3

set
1.0.2

public_suffix
5.0.1

excon
0.95.0

json
2.6.3

mini_magick
4.12.0

bundler
2.3.11

google-apis-androidpublisher_v3
0.32.0

aws-eventstream
1.2.0

aws-sigv4
1.5.2

aws-partitions
1.675.0

jmespath
1.6.2

aws-sdk-core
3.168.4

aws-sdk-kms
1.61.0

aws-sdk-s3
1.117.2

forwardable
1.3.2

logger
1.5.0

pathname
0.2.0

shellwords
0.1.0

cgi
0.3.1

date
3.2.2

timeout
0.2.0

stringio
3.0.1

securerandom
0.1.1

uri
0.11.0

openssl
3.0.0

digest
3.1.0

io-nonblock
0.1.0

ipaddr
1.2.4

io-wait
0.2.1

zlib
2.1.1

resolv
0.2.1

time
0.2.0

open-uri
0.2.0

mutex_m
0.1.1

net-protocol
0.1.2

net-http
0.2.0

ostruct
0.5.2

english
0.7.1

erb
2.2.3

strscan
3.0.1

abbrev
0.1.0

io-console
0.5.11

tempfile
0.1.2

delegate
0.2.0

fileutils
1.6.0

tmpdir
0.1.2

base64
0.1.1

singleton
0.1.1

open3
0.1.1

nkf
0.1.1

prettyprint
0.1.1

pp
0.3.0

find
0.1.1

yaml
0.2.0

psych
4.0.3

fastlane-plugin-increment_version_code
0.4.3

fastlane-plugin-file_manager
0.2.0

generated on: 2023-01-23

I can confirm that I have this exact same issue which is breaking our worflow.


Improve documentation

Improve documentation, specify requireor parameters and options as well as type
You can use:

JSDoc

@buzz-js Well, I would like to claim this one. 😁

@buzz-js Well, I would like to claim this one. 😁

Of course all yours 😎

Is it just this single file?

Is it just this single file?

Yes, it is a single file

The path has changed now it is in src

Is it just this single file?

Yes, it is a single file

The path has changed now it is in src

Well, the file is now changed to .ts are you sure it still needs a JSDOC?

Is it just this single file?

Yes, it is a single file

The path has changed now it is in src

Well, the file is now changed to .ts are you sure it still needs a JSDOC?

Yeah.
https://www.typescriptlang.org/docs/handbook/jsdoc-supported-types.html


LocalAI gets blocked at Model already loaded in memory: after hours of successful inferencing

LocalAI version:

image: quay.io/go-skynet/local-ai:master-cublas-cuda11
Environment, CPU architecture, OS, and Version:

Kubernetes deployment with above image. Underneath it is an AMD EPYC Milan CPU (16 core) + A4500 GPU
Describe the bug

I start the server, then begin sending one request at a time to it. After 100s of successful inferences. One blocks at the message below. Then the GPU sits hovering above 94% util and full power indefinitely. All subsequent requests timeout on the openai side. Requests are all exactly the same size and type. I see it gets stuck on some prompts that are extremely short and simple without any special chars.
It is hard to predict "when" this will happen. But it seems that it always will eventually. Sometimes it can happen within an hour, other times it takes 12 hours.
I am limiting the number of in-flight requests to 1 using my client.
8:02AM DBG Loading model llama-stable from wizardlm-13b-v1.2.ggmlv3.q5_K_M.bin
8:02AM DBG Stopping all backends except 'wizardlm-13b-v1.2.ggmlv3.q5_K_M.bin'
8:02AM DBG Model already loaded in memory: wizardlm-13b-v1.2.ggmlv3.q5_K_M.bin

To Reproduce

Here is my model YAML:
backend: llama-stable
context_size: 4096
batch: 512
threads: 1
f16: true
gpu_layers: 43
mmlock: true
name: wizard13B_gpu
parameters:
  model: wizardlm-13b-v1.2.ggmlv3.q5_K_M.bin
  temperature: 0.2
  top_p: 0.9
roles:
  assistant: 'ASSISTANT:'
  system: 'SYSTEM:'
  user: 'USER:'
stopwords:
  - "USER:"
  - "</s>"
template:
  chat: wizard_chat
  completion: wizard_completion

Expected behavior

I would expect that it continues operating as it does for the first few hundred requests.
Logs

8:02AM DBG Loading model llama-stable from wizardlm-13b-v1.2.ggmlv3.q5_K_M.bin
8:02AM DBG Stopping all backends except 'wizardlm-13b-v1.2.ggmlv3.q5_K_M.bin'
8:02AM DBG Model already loaded in memory: wizardlm-13b-v1.2.ggmlv3.q5_K_M.bin

Additional context

see also: https://github.com/ggerganov/llama.cpp/issues/3969


Order of edges resp. nodes in a GraphTensor when reading out a prediction head

I know that this is no issue, but I don't know any forum or channel to ask questions regarding TF-GNN.
Let's assume the following simple scenario:
A graph with n=4 nodes and m=4 edges each having a single feature array.
The adjacency for this edge set might look like as follows

source = [0, 0, 0, 2]
target = [1, 2, 3, 1]

I.e., node with index 0 is connected to nodes with indicies 1, 2, 3 and node with index 2 is also connected to node 1.
The GraphTensor stores the node set features in a tensor with shape [4, ...] and the edge set features in a tensor with shape [4, ...].
AFAIK, nodes are indexed 0, 1, ..., 3 and feature array at tensor index 0 in the outer dimension belongs to node 0, feature array at tensor index 1 in the outer dimension belongs to node 1 and so on. The same should hold for the edge set and its features.
For me, this means that the order of nodes and edges is derived from their feature tensors. More precisely, feature value at index 0 then belongs to node/edge 0 and so on.
Furthermore, edge 0 is the one which connects node 0 to node 1, edge 1 connects node 0 to node 2 and so on.
Provided it is correct up to here, after rounds of updates and manipulations will the order of nodes and edges still be the same as for the input GraphTensor? Especially in the case, when I want to read out states for a final prediction head to classify nodes resp. edges?
Think of a reinforcement learning use case, where actions are associated with edges and a prediction head classifies each edge with a score/probability. Thus, it is essential to know the order of edges in such a final output tensor to select the correct edge resp. action.
Briefly asked, will the order of nodes and edges be preserved in a GraphTensor, from input until readout of a final prediction head?

Hi!
The preservation of node/edge order depends on the type of model you're using. Most of the models we implement (vanilla MPNN, HGT, multi-head attention, etc.) don't change the order, but we may implement architectures in the future that do.
As for the correct forum/channel for TF-GNN questions, please consider posting to StackOverflow

Please allow me to close this. I think @kk-55's question has been answered.


TypeError: DOMException is not a constructor after updating to 3.5.141

Attach (recommended) or Link to PDF file here:
https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf
(Happens with any pdf-file)
Configuration:

Web browser and its version: Not a web-browser, Node.JS 16.20.0
Operating system and its version: macOS Ventura 13.3 (but also happens in Alpine Linux Node-16 container)
PDF.js version: 3.5.141 (legacy build because of Node)
Is a browser extension: No

Steps to reproduce the problem:

run the following code snippet (function taken from my code-base, input parameter should be the url):

const pdfjslib = require("pdfjs-dist/legacy/build/pdf.js");

module.exports = {
    getPdfText
};

async function getPdfText(input) {
    const loader = await pdfjslib.getDocument(input);
    const doc = await loader.promise;
    const numPages = doc.numPages;

    const docContent = [];

    for (let i = 1; i <= numPages; i++) {
        const page = await doc.getPage(i);
        const content = await page.getTextContent();
        const strings = content.items.map(item => item.str);
        docContent.push(strings.join(" "));
        page.cleanup();
    }
    return docContent;
}

code fails on line const doc = await loader.promise; with the following error:

{
        "message": "DOMException is not a constructor",
        "name": "UnknownErrorException",
        "details": "TypeError: DOMException is not a constructor"
}

What is the expected behavior? (add screenshot)
The pdf should get loaded and the text extracted (this worked as expected in the previous version 3.4.120)
What went wrong?
The pdf cannot be loaded, see above for the error message
Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension): N/A

WFM when running your code locally, using Node.js 18.14.2 on Windows 11, against the master branch of the PDF.js project (after using gulp dist-install to build the necessary files).
Does it perhaps work if you update to Node.js version 18 instead? Have you installed all the necessary dependencies?
Please see https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us in the Matrix room -- keep in mind that just code snippets won't help us troubleshoot the problem.

I did install all necessary requirements as far as I am aware since the code runs without issues in the previous version of pdfjs. I installed it through the pdfjs-dist package and manually had to install canvas + the dependencies specified by it for macOS and Alpine Linux.
The code is adapted from this node example with mainly swapping out the promises for async/await syntax. Further sharing of my code outside of this snippet is unfortunately not really possible since it is a commercial project. But this part of the code is relatively self-contained as it will be a new module accepting either pdf files or (as in the example above) a URL as input and returning post-processed text content.
I have not tested updating to Node 18 yet but will try it out. Currently I am on vacation, so I will only get to it in 2 weeks unfortunately.

Please note that DOMException is not thrown (or used) anywhere within the PDF.js code-base, see https://github.com/search?q=repo%3Amozilla%2Fpdf.js+DOMException&type=code, hence it really seems that it must originate in a polyfill.
Without being able to test your exact code/setup, in the form of a reduced and directly runnable test-case, it's probably going to be very difficult for anyone to help unfortunately.

I have not tested updating to Node 18 yet but will try it out. Currently I am on vacation, so I will only get to it in 2 weeks unfortunately.

Let's close this for the time being, since we try to avoid leaving non-actionable issues open.

I am experiencing the same error after updating to 3.5.141.  Downgrading to 3.4.120 removed the error.  I am using pdfjs-dist via this library on the official Node.js 16.20.0 Alpine 3.17 Docker image.

I experienced the same problem.
I just wanted to do this: https://github.com/mozilla/pdf.js/blob/master/examples/node/getinfo.js
Node: v16.10.0
OS: WSL2
Downgrading to 3.4.120 worked.

@Zirafnik not sure you saw but it already got fixed so you just need to wait for the next version.

@simonhaenisch Ah, my bad, I definitely did not notice that.


Use .at() for indexing instead of C style array indices

This throws an exception on out of bounds array accesses rather than a segfault


Improve additional submitters committee select

resolves #3689
needs https://github.com/OpenSlides/openslides-backend/pull/2439

This fixes a bug in the committee selection of submitters in motions.

Committies not displayed when directly accessing a motion


gnome thumbnails in the app switcher are broken

Which operating system does the issue occur on?

Fedora 30 using Gnome

If on linux, are you using X11 or Wayland?

X11
Since commit 401c2aab964b60e8c3b072e5098ba8e366d04944 thumbnails in the Gnome app switcher are broken.
It's easier to describe the problem with screenshots.
Here's what I get when using Alt-Tab, then moving over Alacritty and using the arrow to move down (or using the "Switch applications" shortcut)  with commit 3475e449870b382cda4ea6d48f980577cd8c929e:

and here's what I get with the same process as described above, since commit 401c2aab964b60e8c3b072e5098ba8e366d04944:

the thumbnails are missing for some reason.
Additional information:

the configuration file doesn't change
the desktop file doesn't change

Let me know if you have any question.

It seems unlikely that the commit you've linked actually broke it. Can you verify exactly which commit broke this or verify that the previous commit actually still works?

If 3475e44 broke things that would have made some sense, but 401c2aab964b60e8c3b072e5098ba8e366d04944 changed absolutely nothing related to this other than the window title. So unless a weird window title breaks things here, I don't understand why this commit would break things.
 So we'd have to actually check the sources to see what causes this. Maybe it can't handle a specific title?

The code that fails seems to be this.
And it is indeed a problem with the title, I didn'tt realize this before but with 401c2aab964b60e8c3b072e5098ba8e366d04944 I have no title in the title bar.
By setting this:
window:
  title: Alacritty

in the configuration file it works as before.

I'm wondering if the window being commented out or not-existent in the config file causes this. In this case, the default for window.title would be an empty string, which would cause this error.

I can see what I can do to fix this. "Alacritty" should be default if title is undefined, not an empty String. I think this would make the tiles show properly with alt-tab.


Session fetched for static assets

Issue description
Hello all! I noticed that some static assets get the session cookie returned in response. I have a custom implementation of session storage that stores data in database (instead of in-memory) and this behavior adds unnecessary load onto the database. I tested with default in memory session storage and the behavior is the same.
Not sure if this is configuration issue or possibly a bug?

Looking through the code HttpSessionFilter execute on each request. I created the following to override this. Is this reasonable?
@Filter(patternStyle = FilterPatternStyle.REGEX, patterns = "(?!\\/static\\/).+")
@Replaces(HttpSessionFilter.class)
public class SessionFilter extends HttpSessionFilter {
    public SessionFilter(SessionStore<Session> sessionStore, HttpSessionIdResolver[] resolvers, HttpSessionIdEncoder[] encoders) {
        super(sessionStore, resolvers, encoders);
    }
}

yes, it is reasonable. We should make it configurable.

@ChaimaaeROUAI can you make the HttpSessionFilter pattern configurable. See:
see an example:
https://github.com/micronaut-projects/micronaut-security/blob/4.11.x/security-csrf/src/main/java/io/micronaut/security/csrf/filter/CsrfFilter.java#L55-L56


[stable/nfs-client-provisioner] Rename podSecurityPolicy support

What this PR does / why we need it: Since PSP support isn't really related to RBAC, put it in its own place.

/ok-to-test

/assign

/lgtm


❓ Issue with silero-vad in Song Detection

❓ Questions and Help
I found that when using silero-vad for voice activity detection in vocal songs, it misses most of the high-pitched parts. I'm wondering if this is related to the project's training data? Is there a way to avoid this during the inference stage? Looking forward to your response.

Hi,
It is a known problem with songs / very high voices / children's voices / cartoon voices.
As for music per se - we did not have music in the training data. As for children audio recordings they are much more relatively rare compared to adults.

OK，Thanks for your response.


[Question]: Where are the fabric folders?

What is your question?
I've installed Fabric on Ubuntu Server but I can't find the folders. Everything is empty.

Apparently I don't have permission to install Fabric in this location.
Any suggestions on how to solve this?

I think you should be able to chown the .env file to your user and have better luck.  something along the lines of:
$ sudo chown bdrtec:bdrtec .env
My files are in the same location, however where .env is owned by root on your system, my user owns them.  I'm on a mac.  Did you run the install/setup with sudo?

I think you should be able to chown the .env file to your user and have better luck. something along the lines of: $ sudo chown bdrtec:bdrtec .env My files are in the same location, however where .env is owned by root on your system, my user owns them. I'm on a mac. Did you run the install/setup with sudo?

I made it.
I'm still learning a few things about Linux.
Thank you very much for your help.
Now I'm going to try installing the fabric in a container.


Pytorch Lightning

How can I download pytorch lighting 1.6.4? pip returns an error when downloading it

I don't have any problem so I don't know how to help you. What error occurs?


Institutions page does not list any thing

http://ojs.io/institutions

Institutions are listed when its status and verified fields are 1.

http://ojs.io/admin/institution/1/edit
but we do not have a status field in the form

It deserves its own issue I think. I will create one and then assign it to myself.


Clicking the Google Calendar header should switch to an existing calendar tab rather than opening a new one

[x] I have searched through existing Issues and confirmed that this particular issue has not already been reported.
[X] I have read and performed all the steps listed under the Troubleshooting section.

What steps will reproduce the problem?

Have a Google Calendar tab open
Click the extension to open the dropdown
Click "Google Calendar"

What is the expected result?
I expect that this behaves the same as the Google Mail Checker extension which will open a new tab if none already exist else will switch to the existing tab
What happens instead?
A new tab is always opened

Good idea, this is a good candidate for someone wanting to send in their first PR to this project.


Maximum callstack exceeded w/ dialog

Describe the bug
Uncaught RangeError: Maximum call stack size exceeded.     at tryFocus (index.js:207)     at HTMLDocument.checkFocusIn (index.js:271)     at HTMLDocument.contain (Unstable_TrapFocus.js:84)
Focus doesn't reach dialog, escape keydown closes the SP and not only the dialog
Reproducible test case
Combining a SP with a dialog (from MUI)
Expected behavior
Clear console, focus on the dialog, escapekeydown close the dialog
Configuration
Latest version of all deps, Chrome

Linked to FocusTrap

FocusLock: focus-fighting detected. Only one focus management system could be active.


Add documentation for nodepool flag

#117 was merged without documentation. Add usage documentation.

Apologies for pulling this out of backlog early. I was fixing something related and wanted to be efficient.

PR: #165


[DEV-629] - Subscribe to RefreshMetadata event on the subgraph

Add handler for RefreshMetadata event. Pull logic of loading and saving IPFS metadata into its own function.

Can you please re-test your changes and then merge this?

I was able to test this and it works as expected.


Try out GitHub "code owners"

I don't like the name, but the feature should be useful to get better - but perhaps not perfect - automatic reviewer assigned to PRs.
https://github.com/blog/2392-introducing-code-owners

Pilot for the simple case of obj2gltf: e17db649a544937e4c153a250c372f8a9df2f6cc

This bot looks like it gives a lot more control: https://github.com/imsky/pull-review


Proposal of Layout

This is a PR so that @polm can give a review on the file structure. I tried to split the utilities from the spaCy library into separate files to make it somewhat easier to maintain. My approach is to work on one command at a time, but before doing any serious work it'd be good to get the foundation aligned.
This PR implements the clone command and I was able to run this locally without issue.
python -m weasel clone pipelines/tagger_parser_ud

I haven't added any tests yet, partially because I was wondering if we want to use Github actions (which I believe is free) or something else for that (Azure? I might need help to set that up).

Grand.
I'll chug along and keep adding features. Once there's a milestone I'll let you know :)


FYI: RPI 5 discrepancies from rootfs disk encryption

Writing this as a FYI. I followed this guide: https://github.com/gitbls/sdm/blob/master/Docs/Disk-Encryption.md with the latest "rasbian with all recommended application" image. Used ubuntu 24.04LTS to modify the image.
The following happened:

First time, rasbian booted as if nothing happened. No reboot.
Second time, sdm-auto-encrypt ran as expected
Third boot: No /dev/mapper errors. Otherwise as expected
Fourth reboot: blank screen. Waited 20 minutes and restarted the pi.
Fifth(extra!) reboot: stuck at raspbian boot splash. Entered luks password, after which the pi booted.

Also thank you for your work! This tool has been very useful to me.

Sorry you had a problem. Unfortunately, you didn't provide any useful information to enable me to help you if you're still having problems, or to investigate what might have happened.
Please provide the following information if you want to engage on this

Did it ultimately work correctly for you on subsequent reboots? Is the rootfs encrypted as you expect?
There is no software named 'rasbian'. Did you mean Raspberry Pi OS Bookworm version?
And if it's RasPiOS Bookworm, was it the Lite version or one with a graphical desktop?
What exactly do you mean by "Used ubuntu 24.04LTS to modify the image"? If you mean using sdm to customize the IMG before you burned it, please provide the file /etc/sdm/history from the disk that was on
How did you burn the IMG to whatever disk you're using? Please provide the complete command line
If you did use sdm to customize the img, did you add the --reboot 10 switch either on the customize or when you burned the disk?
What exactly does "Otherwise as expected" mean? Exactly what happened? What commands did you enter?
On the free 5th reboot, Please clarify what you mean by raspbian boot splash so I understand precisely what you mean
How did you enter the luks password if it was stuck at a boot splash screen?

Thanks! I'm always interested in helping people succeed with sdm, but there are a LOT of moving parts so really need complete and specific details.

Hello! Thank you for your quick reply and sorry for my lack of details. Some of the info you are requesting is on a machine I am currently not close to, I will get hold of the info for you on Tuesday. Cheers

Closing due to inactivity. OP: if desired, please re-open to provide details as requested. Thx!


Revert "Cache tag helpers per assembly reference"

Reverts dotnet/razor#9410.
Internal tests failed with that PR: https://dev.azure.com/dnceng/internal/_build/results?buildId=2293599&view=logs&j=fd8bec93-d8f3-5e7a-338e-bb3eae0ef7e6&t=bbd4d499-7268-5926-b5b2-6934a27528fb
The errors are like:
aspnetcore\src\Components\test\testassets\BasicTestApp\BindCasesComponent.razor(22,75): error RZ9991: The attribute names could not be inferred from bind attribute 'bind-value'. Bind attributes should be of the form 'bind' or 'bind-value' along with their corresponding optional parameters like 'bind-value:event', 'bind:format' etc.

Internal tests of this revert: https://dev.azure.com/dnceng/internal/_build/results?buildId=2294228&view=results

#9440 fixes the issue


why nvm not allow set prefix to avoid reinstall the global package with node version changes?

Operating system and version:
nvm debug output:

nvm ls output:

How did you install nvm?

What steps did you perform?
What happened?
with nvm, one annoying thing is that every time I change the node version, the previous installed global npm packages are gone, so why not just set a npm prefix as a fixed npm global bin to avoid reinstall(--reinstall-packages-from) w/ the version changes.
What did you expect to happen?
compatiable with prefiex
Is there anything in any of your profile files that modifies the PATH?

If you are having installation issues, or getting "N/A", what does curl -I --compressed -v https://nodejs.org/dist/ print out?

 For example, sometimes they're compiled, and that means they need to be rebuilt for each node version.
If you want to use nvm, you can't use prefix, and every node version needs to have its own separate copy of global packages.
You can use nvm reinstall-packages to "copy" the packages over from another version of node, or you can nvm install a --reinstall-packages-from=b to do so while installing.

thanks for your explanation!


Valet persist on staying php 7.2.11, rather than switching 7.3

Macbook Bro - Mojave
➜  ~ switch-php 7.3
Password:
Valet stopped ✔
PHP switched ✔
Valet started ✔

You are now using PHP 7.2.11

I also restarted terminal to make sure but it didn't

Can you please upload a screenshot of the output when you run brew services list in your terminal?


pantheon.appcenter: re-add patch for disable packagekit backend

Motivation for this change
This patch is actually a lot easier to maintain than the legacy one. I have opened upstream PR one month ago but it makes no sense to wait any longer as the app is totally not working specifically on NixOS and waiting will not solve problem. And if you are unhappy about the current patch please feel open a PR upstream or downstream to provide a better one :-(
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

@ofborg test pantheon

Result of nixpkgs-review pr 150372 run on x86_64-linux 1

2 packages blacklisted:

nixos-install-tools
tests.nixos-functions.nixos-test

2 packages built:

pantheon.appcenter
pantheon.elementary-onboarding


Please add SHA256 for downloads

On the releases page, would you be able to add SHA256 digests for each of the binaries?
For Spin, we use the digest to verify that when we fetch a binary from GitHub at startup time, it has not been maliciously altered. Here's and example for one of our other projects:
[[component]]
source = { url = "https://github.com/fermyon/spin-redirect/releases/download/v0.0.1/redirect.wasm", digest = "sha256:d57c3d91e9b62a6b628516c6d11daf6681e1ca2355251a3672074cddefd7f391" }
id = "Redirect"
environment = { DESTINATION = "/index.php" }
[component.trigger]
route = "/"
executor = { type = "wagi" }

Note that redirect.wasm is fetched from a repository, and then the digest =  field is used to verify that the data was not altered.
Here's what php-wasm looks like in my current Spin PHP app:
[[component]]
# Latest PHP-Wasm
source = { url = "https://github.com/vmware-labs/webassembly-language-runtimes/releases/download/php%2F7.4.32%2B20221124-2159d1c/php-cgi-7.4.32.speed-optimized.wasm", digest = "sha256:511720698dee56134ed8a08a87131d33c3ea8a64b6726cd6710d624bca4ceb6c" }
id = "PHP"
files = [ { source = "./src", destination = "/" } ]
[component.trigger]
# Make sure the executor is wagi
executor = { type = "wagi"}
# This means PHP will be used for all requests.
route = "/..."

To generate the digest there, I first downloaded the php-cgi-7.4.32.speed-optimized.wasm then ran shasum -a 256 php-cgi-7.4.32.speed-optimized.wasm. That works, but is a little inconvenient and still assumes that the version I fetched hadn't been compromised.
I wouldn't say that Helm is exactly the gold standard for how this should be done, but here's how we do them for that project: https://github.com/helm/helm/releases
Thanks! I am having a great time applying my old PHP skills to this new technology stack!

Thanks for the suggestion @technosophos!


Assignment Seeding

I noticed that for all assignments, all criteria have the same position. This seems to be a seeding issue.

Fixed in #2668


usp_BulkUpload: The module 'usp_BulkUpload' depends on the missing object

Do you want to request a feature or report a bug? BUG
What is the current behavior? Problem during installation of the Stored Procedure
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via http://sqlfiddle.com/ run the usp_BulkUpload.sql on a new server installation
What is the expected behavior? the stored procedure should install without problems
Which versions of SQL Server and which OS are affected by this issue? Did this work in previous versions of our procedures?
SQL Server 2016
Windows10

After I run the query
The module 'usp_BulkUpload' depends on the missing object 'dbo.usp_LogError'. The module will still be created; however, it cannot run successfully until the object exists.
The module 'usp_BulkUpload' depends on the missing object 'dbo.usp_PrintError'. The module will still be created; however, it cannot run successfully until the object exists.

@francescovista great thanks for your issuee, fixed: https://github.com/ktaranov/sqlserver-kit/commit/36f9e0a187a5dd49377718701f7547696105e323
Be free to post any new issue, pull request or just ask any question.
I will update this procedure with new SQL Server functionality: use in-memory tables if its possible due database properties and available memory
Thanks again.


Add OidcClient constructor overload

Closes #919
Checklist

[x] This PR makes changes to the public API
[x] I have included links for closing relevant issue numbers

I didn't add ResponseValidator & TokenClient to the constructor params since they're currently not exported from the package

thanks for contributing


Consider requiring C++14

Since version 1.13.0, GoogleTest requires at least C++14. I think (but don’t have a very handy way to verify) that the minimum GCC version for this library,
https://github.com/robashaw/libecpint/blob/f07f8b963d3719ec2667879fceb49deb4e2c6826/README.md?plain=1#L48
should support C++14, so maybe it’s time to just make that the requirement by adjusting
https://github.com/robashaw/libecpint/blob/f07f8b963d3719ec2667879fceb49deb4e2c6826/CMakeLists.txt#L5
to C++14 instead of C++11.
What do you think?

I made #59, which forces C++11 only on the target, so one can then overwrite CMAKE_CXX_STANDARD however needed.
Moving to C++14 would be a good idea additionally.


Move

The styles section is currently located between head and body.
The styles section should be moved to the head section.

The indentations should also be revised on this occasion.


fix: disable statsd by default

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 68.15%. Comparing base (04c8899) to head (f5805c5).
Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #290      +/-   ##
==========================================
- Coverage   68.35%   68.15%   -0.20%
==========================================
  Files          84       85       +1
  Lines        9787     9814      +27
==========================================
- Hits         6690     6689       -1
- Misses       2412     2439      +27
- Partials      685      686       +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


fix: add onClick with route in breadcrumb

Issue:

Currently when the we add a route along with onClick property to a "breadcrumb", the route takes the precedence, as shown below.

This results in a problem where we want to trigger a function while clicking on a breadcrumb.
But if we just add onClick and remove the "route" property like this

Then the breadcrumb results in a button

which is a bad UI.
Result

API

Both focus and hover classes has been made inherit

This is not the correct fix. The idea is to render a normal button and not frappe-ui Button instead of removing styles from Button explicitly.
Fixed here: https://github.com/frappe/frappe-ui/commit/c89f7068ddbfdebe1f29456b1992fb0f6f87aba3


Dev mode should look for the Docker host port corresponding to the user provided container name (if provided in dockerRunOpts)

From https://github.com/OpenLiberty/ci.maven/issues/981
Observation 5: If you specify a specific name in dockerRunOpts, dev mode still tries to look for the Docker host port using its own container name instead of the user provided name, so it encounters an error: [ERROR] Unable to retrieve locally mapped port. Docker result: "Error: No such container: liberty_dev_1". Ensure the Docker ports are mapped correctly.
Action item:
Dev mode should look for the Docker host port corresponding to the user provided container name (if provided in dockerRunOpts).
Related to: https://github.com/OpenLiberty/ci.maven/issues/988

I tested this and it is fixed by issue #988. Dev mode now recognises the --name option in dockerRunOpts and you can use that container name in your app definition.


multiple-step ahead prediction for PeMS dataset

Hi authors, thanks for sharing the code of this paper. I have a question when trying to implement these models. It seems like the multiple-step ahead prediction is treated in different ways for the PeMS dataset.
For example, in the LSTM model, the output of the decoder at each timestep is used as the decoder input to generate the prediction at the next step, meaning we don't use any ground truth data at the inference step. However, in the spacetimeformer model, we simply use a mask to mask out future positions but we still use ground truth data as the decoder input. Essentially, I think it's equivalent to a rolling 1-step prediction that is different from the multiple-step ahead prediction in the LSTM model.

Hi, It's true that the prediction loop is different for the Transformer models vs LSTM. LSTM generates each timestep of the output in sequence while the Transformers predict every timestep in one forward pass. We set this up by passing decoder inputs as zeros and turn off decoder masking so that the predictions can share information. The code makes that a little confusing because there are mask options that are disabled. We also pass the true dataset target values into the training step but replace them with zeros before they go into the decoder, so inference does not require ground truth data.
https://github.com/QData/spacetimeformer/blob/1ee8c8143a218b5d70a688c4929ba9bca7441914/spacetimeformer/spacetimeformer_model/spacetimeformer_model.py#L185-L193
Because all the tokens are zero there is no information leak from future timesteps and we can skip the mask.  I'm working on some changes to make inference simpler by creating the zero sequence automatically.


Popular analytics applications in mainland China

Baidu Analytics 百度统计 (Read as 'Tongji')
Umeng-Web (known as 'CNZZ', acronym of 'Chinese Webmaster')

Thanks!


Ensure airflow database is created with timezone set to UTC

Airflow creates its metadata database using airflow initdb. Since its best practice to have everything in UTC to avoid issues with DST, airflow should create its metadata database with timezone set to UTC.
In addition to this, the documentation should reflect that its best to set the TZ of the machines running airflow {scheduler, worker, webserver} to UTC

Our host that is running the scheduler is a shared machine, and we cannot change the tz. This caused DagRuns to have an execution date in UTC, but it was checked against local time.  A simple fix in models.py TaskInstance.is_queueable is to change datetime.now() to datetime.utcnow().
Would this be possible?


Question - How do you pass in the url value from an environment variable to the manifest.yaml

Before you proceed
We are happy about your enhancement proposal, but we would like to discuss this with you. Please make sure you've opened a discussion and are creating this feature/improvement request as a result of it. Make sure to link discussion here.
Is your feature request related to a problem? Please describe.
Using Monaco 2.0.0, and we are able to have the token be picked up from an env. The url value does not work at all. Please advise how we should manage multiple dynatrace environments with monaco? Ex. (NP and PROD)
Describe the solution you'd like
a Clear example of how to resolve this.
Describe alternatives you've considered
Jinja2 templating the manifest file. Works but not great.

Hi @kbocock-krg, it is already possible to define an environment URL via environment variables.
See the documentation:
https://www.dynatrace.com/support/help/shortlink/configuration-as-code-configuration#environment-definition
And here's a sample manifest defining several environments (and env groups) that uses env vars for all URLs and Tokens/Secrets:
https://github.com/Dynatrace/dynatrace-configuration-as-code/blob/main/cmd/monaco/integrationtest/v2/test-resources/integration-multi-project/manifest.yaml
I hope that helps!
If I misunderstood your issue, please let me know and attach a sample of your failing configuration and logs.

Are you still facing issues with this @kbocock-krg ?

We leveraged Jinja2 to overcome this issue and control the environment name by our workflow. We now have 1 file with a single clean responsibility and interface. Thank you for responding so quickly. I do hope to see the v1 environment globals come back. Right now the parameters in the corresponding id block of the configuration is a DRY violation. We need to create several hundred resources from code so our concern here is maintenance. Have you considered creating an ansible module which could also help with cleanup etc?

Ah, now I see what you wanted to template in the manifest.
In general, the way you use monaco - define things once, then template to create different configs at run time - is different from the core use-case we see for it.
We aim for a main use-case of configuration as code as a gitops "source of truth," - so there are several decisions in v2 that make things more explicit and easier to reason about and review by just looking at config files (rather than how the CLI is called).
These decisions make things more verbose - and thus go against your desire to keep configs for your use-case DRY.

We are looking into better covering such 'templating at scale' use-cases like yours in a way that keeps the core of monaco configuration explicit (and verbose) but still makes handling large amounts of similar configurations like you do as simple as possible.


Changes to schema generation impact some GraphQL filters

Brief bug description
Before automatic schema generation was implemented, it was possible to filter the usedByContentItems property. For example, to show related content where the linked items relationship is made on another entry, you could use the usedByContentItems parameter to retrieve the content so the relationship didn't have to be maintained on multiple entries.
export const query = graphql`
  query BeltIdentifierTypeQuery(
    $url_slug: String!
    $language: String!
  ) {
    pitches: allKontentItemBeltPitch(
      filter: {
        usedByContentItems: {
          elemMatch: {
            system: { type: { eq: "belt_series" } }
            elements: {
              belt_type: {
                linked_items: {
                  elemMatch: {
                    elements: { url_slug: { value: { eq: $url_slug } } }
                  }
                }
              }
            }
          }
        }
      }
    ) {
      nodes {
        id
        elements {
          pitch {
            value
          }
        }
        beltSeries: usedByContentItems {
          ... on KontentItemBeltSeries {
            id
            system {
              type
              language
            }
            elements {
              title {
                value
              }
              url_slug {
                resolvedUrl
              }
            }
          }
        }
      }
    }
  }
`

The query above fails w/ Field "elements" is not defined by type KontentItemFilterInput.
A similar error occurs with otherLanguages in the following query:
export const query = graphql`
  query QueryName(
    $url_slug: String!
    $language: String!
  ) {
    entry: kontentItemBeltSeries(
      preferred_language: { eq: $language }
      elements: {
        url_slug: { value: { eq: $url_slug } }
        belt_identifier_entries: {
          linked_items: {
            elemMatch: {
              otherLanguages: {
                elemMatch: { preferred_language: { in: ["en", "de"] } }
              }
            }
          }
        }
      }
    ) {
      system {
        type
        language
        codename
      }
    }
  }
`

The query above fails w/ Field "otherLanguages" is not defined by type KontentItemFilterInput. Did you mean preferred_language?
It appears the regression occurs somewhere between 4.0.0-beta2 and 4.2.0 — I think related to the automatic schema generation.
Is there something I can fine-tune on the query or another workaround that doesn't affect the content model in Kentico?
Possibly related to the following: #84 , #105
Expected behavior
The query should retrieve data as it did before the schema generation process was updated.
Test environment

@kentico/gatsby-source-kontent v4.3.0
@kentico/kontent-delivery v9.0.0

Hi @bwlng thank you for letting us know. I'm not sure about usedByContentItems (@Simply007 should know better), however, in my opinion missing other languages property is a bug. We will let you know!

Hello @bwlng,
thanks for submitting this. This is caused by the filter is using KontentItem interface that does not have most of the elements defined, because they are defined in inherited types.
Unfortunately, I haven't found any GraphQL possibilities to type this filter using inline fragment, nor the gatsby documentation according to the input filter and their potential inferring is not up to date.
On the other hand, I have tried a more clean way how to precompute some data to fields in OnCreateNode lifecycle method.
The solution is in the https://github.com/Simply007/schema-definition-changes repository
You might want to use any other lifecycle method (https://www.gatsbyjs.org/docs/node-apis/#gatsby-node-apis) by the specific use case. Or even setFieldsOnGraphQLNodeType  if it suits you.
In my opinion, this might be also beneficial according to the performance of running queries described in #107, but it is just a guess, the performance peaks must be identified first - but worth a try!

According to the vision - we would like to extract the functionality of the "computed" properties from the source plugin and describe how to implement them right in the application or provide the transformers plugin if the property would be heavily used.
See #108

Thanks for the workaround @Simply007. I can confirm that precomputing the data I'm filtering on as outlined in the schema-definition-changes repo is a good workaround for the properties that can't be filtered using KontentItem interface.
This doesn't affect the query performance described in #107, but as stated in that issue, the Gatsby team is aware and thinks it may be a regression on their end.

Great to hear @bwlng!
I am closing the issue for now.
If we missed anything on this issue or if you want to keep it open, feel free to do so.