update(cmake): bump libs to 0.11.0

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

/kind release

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area engine

/area tests

/area proposals

/area CI

What this PR does / why we need it:
as per PR title
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

update(cmake): bump libs to 0.11.0

Adding the "do-not-merge/release-note-label-needed" label because no release-note block was detected, please follow our release note process to remove it.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: loresuso
Once this PR has been reviewed and has the lgtm label, please assign mstemm for approval. For more information see the Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/milestone 0.35.0

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, leogr, loresuso
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


fix start at pat gene instead of dnaA

The log message:
2023-07-13 01:42:57.043 | INFO     | dnaapler.utils.validation:instantiate_dirs:20 - Checking the output directory FIX_START
2023-07-13 01:42:57.043 | INFO     | dnaapler.utils.validation:instantiate_dirs:25 - --force was specified even though the output directory does not already exist. Continuing.
2023-07-13 01:42:57.055 | INFO     | dnaapler.utils.util:begin_dnaapler:66 - You are using dnaapler version 0.1.0
2023-07-13 01:42:57.056 | INFO     | dnaapler.utils.util:begin_dnaapler:67 - Repository homepage is https://github.com/gbouras13/dnaapler
2023-07-13 01:42:57.056 | INFO     | dnaapler.utils.util:begin_dnaapler:68 - Written by George Bouras<EMAIL_ADDRESS>2023-07-13 01:42:57.056 | INFO     | dnaapler.utils.util:begin_dnaapler:69 - Your input FASTA is WH0762305A01__Edwardsiella_ictalur_chromosome.fa
2023-07-13 01:42:57.056 | INFO     | dnaapler.utils.util:begin_dnaapler:70 - Your output directory  is FIX_START
2023-07-13 01:42:57.057 | INFO     | dnaapler.utils.util:begin_dnaapler:71 - You have specified 8 threads to use with blastx
2023-07-13 01:42:57.057 | INFO     | dnaapler.utils.util:begin_dnaapler:72 - You have specified dnaA gene to reoirent your sequence
2023-07-13 01:42:57.947 | INFO     | dnaapler.utils.util:begin_dnaapler:74 - blastx version 2.14.0+ found
2023-07-13 01:42:57.948 | INFO     | dnaapler.utils.validation:validate_fasta:43 - Checking that the input file WH0762305A01__Edwardsiella_ictalur_chromosome.fa is in FASTA format and has only 1 entry.
2023-07-13 01:42:58.041 | INFO     | dnaapler.utils.validation:validate_fasta:50 - WH0762305A01__Edwardsiella_ictalur_chromosome.fa file checked.
2023-07-13 01:42:58.082 | INFO     | dnaapler.utils.validation:validate_fasta:59 - WH0762305A01__Edwardsiella_ictalur_chromosome.fa has only one entry.
2023-07-13 01:42:58.085 | INFO     | dnaapler.utils.external_tools:run:45 - Started running blastx -db /usr/local/lib/python3.10/site-packages/dnaapler/db/dnaA_db -evalue 1e-10 -num_threads 8 -outfmt ' 6 qseqid qlen sseqid slen length qstart qend sstart send pident nident gaps mismatch evalue bitscore qseq sseq ' -out FIX_START/WH0762305A01__Edwardsiella_ictalur_fxstart_chromosome_blast_output.txt -query WH0762305A01__Edwardsiella_ictalur_chromosome.fa ...
2023-07-13 01:43:39.874 | INFO     | dnaapler.utils.external_tools:run:47 - Done running blastx -db /usr/local/lib/python3.10/site-packages/dnaapler/db/dnaA_db -evalue 1e-10 -num_threads 8 -outfmt ' 6 qseqid qlen sseqid slen length qstart qend sstart send pident nident gaps mismatch evalue bitscore qseq sseq ' -out FIX_START/WH0762305A01__Edwardsiella_ictalur_fxstart_chromosome_blast_output.txt -query WH0762305A01__Edwardsiella_ictalur_chromosome.fa
2023-07-13 01:43:39.904 | INFO     | dnaapler.utils.processing:reorient_sequence:93 - dnaA gene identified. It starts at coordinate 553459 on the reverse strand in your input file.
2023-07-13 01:43:39.904 | INFO     | dnaapler.utils.processing:reorient_sequence:96 - The best hit with a valid start codon in the database is sp|P76594|LYSAC_ECOLI, which has length of 886 AAs.
2023-07-13 01:43:39.905 | INFO     | dnaapler.utils.processing:reorient_sequence:99 - 887 AAs were covered by the best hit, with an overall coverage of 100.11%.
2023-07-13 01:43:39.905 | INFO     | dnaapler.utils.processing:reorient_sequence:102 - 488 AAs were identical, with an overall identity of 55.02%.
2023-07-13 01:43:39.905 | INFO     | dnaapler.utils.processing:reorient_sequence:103 - Re-orienting.
2023-07-13 01:43:40.036 | INFO     | dnaapler.utils.util:end_dnaapler:102 - dnaapler has finished
2023-07-13 01:43:40.037 | INFO     | dnaapler.utils.util:end_dnaapler:103 - Elapsed time: 42.99 seconds

It turn out it your database has some 'contaminated' sequence like in this image:

As a result, the sequence is not adjust correctly at dnaA!

Please respond as soon as possible, thank you

I've filter the db for dnaA in id: check for recommendation:
dnaA.txt

@gbouras13 . Have you seen my message ?. Please review and commit a new version as soon as possible. Thanks

Hi @minhtrung1997 ,
Thanks for trying out dnaapler.
I would recommend that you re-assess the way you interact on GitHub in the bioinformatics open source software field generally.
I have been on holidays the last month and I do this for free as side-projects as part of my job. Most of us do this for free because we enjoy it!
Dnaapler isn't published nor is a 'version 1' released, so bugs are not unexpected. Thanks for pointing this one out, I will fix it when I get to it.
In future, in this situation if you are under time stress would recommend that you modify the code yourself, create a new version and create a pull request.
George

Sorry, sir. My rude. I'm indeed in a deadline for deployment using conda. As I'm using conda public source, I think the fast way to meet the deadline is to ask the author push the code which will automatically update to conda channel. Once again, pardon for my impatience and thank you for quick respond 🙏

Hi @minhtrung1997,
I have filtered the database now - if you install from source it should work fine.
George


Unit Testing Setup

Setup the following

[ ] Mocha
[ ] Chai
[ ] One demo file

 BE - Unit testing setup


Browser warns link is insecure when visiting wavedrom.com

https://www.williamlong.info/archives/6021.html

https://www.v2ex.com/t/656367?p=1


do not break the for loop, and cache all instance ids

Codecov Report

Merging #2548 (04deb27) into main (d10740a) will decrease coverage by 5.24%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #2548      +/-   ##
==========================================
- Coverage   29.84%   24.60%   -5.25%
==========================================
  Files         288      119     -169
  Lines       35680    12405   -23275
==========================================
- Hits        10648     3052    -7596
+ Misses      25032     9353   -15679

Impacted Files
Coverage Δ

...ApiService/ApiService/onefuzzlib/VmssOperations.cs
0.00% <0.00%> (ø)

...t/onefuzz-task/src/local/libfuzzer_crash_report.rs

src/agent/onefuzz/src/uploader.rs

src/agent/onefuzz-task/src/tasks/fuzz/generator.rs

src/agent/onefuzz-agent/src/failure.rs

src/agent/win-util/src/com.rs

src/agent/onefuzz-task/src/managed/cmd.rs

src/agent/debugger/src/lib.rs

src/agent/input-tester/src/crash_detector.rs

src/agent/win-util/src/string.rs

... and 160 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Component: VShowResults button

All work for the 'Create new header' milestone should be done under the new_header feature flag.
Description

The mobile content settings modal shows a "Show results" button which, when clicked, closes the modal. The button also shows an animation when the results are being fetched.
API

Props

Name
Type
Description

isFetching
boolean
Whether the media is being fetched. If true, the dots animation is shown instead of the label

Events

Name
Associated data
Description

click
-
click event is sent to the parent to close the modal.

Code samples

<VButton>
  <span v-if="isFetching">
    ...loading animation svg
  </span>
  <span v-else>
    {{ $t('show-results') }}
  </span>
</VButton>

Dependencies

References

The animation can probably be based on the animation of the VLogoButton.

Figma: https://www.figma.com/file/GIIQ4sDbaToCfFQyKMvzr8/Openverse-Design-Library?node-id=2960%3A8576

Implementation

[ ] 🙋 I would be interested in implementing this component.

Note that the stub of the button without animation is implemented in #1846


add x-client-name as a header for Zalando Shop API requests

Add  header  'x-client-name’ 'zalmemo' for Zalando Shop API so that they can track those requests.

Why don't you use the User-Agent header (which can be set as needed)?

@hjacobs  'User-Agent' set automatically from browser why should i try to overwrite it ?


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

Codecov Report

Merging #237 (2f3740a) into main (2974dfe) will increase coverage by 8.72%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #237      +/-   ##
==========================================
+ Coverage   83.33%   92.05%   +8.72%
==========================================
  Files           2        1       -1
  Lines         126      340     +214
  Branches       31       40       +9
==========================================
+ Hits          105      313     +208
- Misses         21       27       +6

Impacted Files
Coverage Δ

src/index.ts
92.05% <100.00%> (+10.05%)
:arrow_up:

example/src/main.ts

Continue to review full report at Codecov.

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


add GREED Token

Checklist

[x] Token Address in lowercase
[x] Link to verified contract on Blastscan: https://blastscan.io/address/0xe6A062fba3918376500A602c800b1E0307420457
[x] Description of token if non-standard ERC20, e.g. has tax, OFT token, bridged XERC20, ERC-404, etc.
[x] An SVG <150 KB in size, cropped to be a circle. Rectangles and other shapes of images will not be accepted.
[x] Token category you would like to be listed under

Current categories: DeFi, Memecoin, Stablecoin, Game, Other

Additional Information

Our token have trading fee implemented. Currently we will take totally 5% tax

3% will go to game prize pool: 0x7FCB51ef936BaCe193b81478F9D17c8d91F94A2F
0.5% will go back to LP
1.5 % will go to dev team

Could you change the category to "Game". The checks are now failing because "GameFi" is not a valid category

I've updated category to "Game"


Added ability to create a Triangulation with only points and triangles as input

In case someone already has an unconstrained triangulation in the form of points and triangles, but no boundary, I added a constructor for exactly that. It's basically calling the previous method with boundary_nodes = [nothing].

Thanks! Does this actually work? You'll need to add some tests. I assumed that this would run into errors - a better default is probably IntegerType[] instead of [nothing].
One issue with this method, and why I haven't got around to implementing it yet, is that the triangulation will not work in a lot of cases without the proper boundary information. For the unconstrained triangulation case, this boundary is of course the convex hull, but this constructor doesn't know that. I think there are two possible resolutions

Document that the constructor is only valid for unconstrained triangulations, and pass boundary_nodes = get_vertices(convex_hull(points)). This approach will also not work if there are some points in points that are not vertices in triangles though - maybe just documenting that limitation is useful, or use the approach below to find the convex hull (from the boundary) and sort it using sort_convex_polygon!.
Allow for any boundary to be provided, and reconstruct it from the triangles. That is, you can loop over each_triangle(tri) and check if any of the edges have no adjacent edge (so you'd need to construct the Adjacent map and use edge_exists(get_adjacent(adj, i, j))). Those without an adjacent edge form the boundary. This is a bit hard though since it requires sorting the boundaries and, since the boundaries may be disconnected, knowing how to separate different chains of line segments.

The first approach is probably sufficient for now. What do you think?

I will try the first approach.
I'give you a little bit more context: my issue (but maybe it's fairly common) is that I already have a triangle mesh from other software (in the form of points + triangles) and I simply want to "import" it to do stuff on it. In my code I did it with Triangulation(points, triangles, [nothing]) and it works correctly. But I thought a constructor with only points and triangles was needed.
I understand the problems and the underlying logic of the issue you highlighted, and I will address it as you suggested (first approach).
Maybe in the future a function to import a triangle mesh would be useful, that automatically checks the validity of the triangulation before converting. But I think the convex hull will suffice in most cases.

Thanks! I will take a closer look soon.
In v2.0 I intend on creating a separate unconstrained triangulation type so that cases like this are much easier to handle, I imagine that would be helpful for your use case. What software are you converting from btw? I also wanted to at some point allow for converting a mesh from Shewchuks Triangle but never got around it.

I'm reading a .mat file, with the 2 vectors: points and triangles, they were probably generated using some version of Delaunay triangulation in matlab but I'm not sure.

In addition to fixing the failed test (where 'tri' is undefined in your test), can you also bump the version to v1.5 and add a statement to news please? Thanks!

It should be done, sorry, I'm new to Julia and haven't done many PRs either

Not a problem at all, I very much appreciate the contribution! Any final edits that are needed I'll make and merge soon, thanks!

I changed a few things:

Clarified the news statement that its about reconstructing from the points/triangles.
Bumped the version to 1.5.
I now technically allow ghost triangles but they are skipped (the test was failing as written, so this addresses that).
To make sure the returned triangulation is actually unconstrained, I remove the convex hull boundary from tri using unlock_convex_hull!.
Moved the test into a different file.

Once the CI passes should be go I think. Thanks!

Now available and registered in v1.5.0. Thanks for the contribution :)


Extra Download url(s) for Layers

...
    "title": "Pasture anomaly",
    "type": "wms",
    "server_layer_name": "ModisAnomaly",
    "base_url": "https://mongolia.sibelius-datacube.org:5000",
    "downloads": [
      {
        "label": "GeoTiff",
        "url": "https://example.com/download?layer=poverty&format=tiff"
      },
      {
        "label": "CSV",
        "url": "https://example.com/download?layer=poverty&format=csv"
      }
    ],
    "legend": [
...

We've tried to dowload raw geotiff for a Layer using this guide. But then the resulting file is somewhat different from original tiff uploaded to GeoServer. It's still an ongoing issue, as such we need to make a custom API endpoint to download the original GeoTiff
The cons is that we need to configure the backend and layer configuration a bit, but the benefit is that we can customize what the resulting file will contain, for example in CSV output we can add more columns

I'm using Mongolia / Pasture Anomaly to demonstrate the functionally, it will be removed on merge

feature for IDN branch


Error "MSB4100: Expected "%(NSwagGenerateExceptionClasses)" to evaluate to a boolean instead of ..."

After updating a project from 13.20.0 to NSwag 14.0.3, I observe this error, and no cs file is generated:
C:\Users\<USERNAME>\.nuget\packages\nswag.apidescription.client\14.0.3\build\NSwag.ApiDescription.Client.targets(22,18): error MSB4100: Expected "%(NSwagGenerateExceptionClasses)" to evaluate to a boolean instead of "", in condition "!%(FirstForGenerator) OR !%(NSwagGenerateExceptionClasses)".
I reference a Yaml file.
I deleted and readded the csproj service reference, but there is no change:
  <ItemGroup>
    <OpenApiReference Include="anonymizedapi.yaml" CodeGenerator="NSwagCSharp" Namespace="Anonymized.Namespace" ClassName="AnonymizedApi" />
  </ItemGroup>

Does anybody have an idea? I don't want to post the yaml file here, as it is not free.

Also, the generated class names changed for two classes in the yaml file. Those seem to be "hard to guess" names, as they previously had a number after the class name ("Data2"). But the new name starts with a lower case ("data"), and this is something I don't like in a C# environment ;-).

Same issue, but in my case I do not want to generate exception classes. I did have the
<ItemGroup>
    <OpenApiReference Include="..\My.json" CodeGenerator="NSwagCSharp" ClassName="MyApiService" Link="OpenAPIs\My.json">
       <Options>/generateClientInterfaces:true /useBaseUrl:false /operationGenerationMode:SingleClientFromOperationId /generateExceptionClasses:false /exceptionClass:My.ApiException /excludedTypeNames:ProblemDetails,ValidationProblemDetails</Options>
    </OpenApiReference>
</ItemGroup>

Changed it to
<PropertyGroup>
    <NSwagGenerateExceptionClasses>false</NSwagGenerateExceptionClasses>
</PropertyGroup>
<ItemGroup>
    <OpenApiReference Include="..\My.json" CodeGenerator="NSwagCSharp" ClassName="MyApiService" Link="OpenAPIs\My.json">
       <Options>/generateClientInterfaces:true /useBaseUrl:false /operationGenerationMode:SingleClientFromOperationId /exceptionClass:My.ApiException /excludedTypeNames:ProblemDetails,ValidationProblemDetails</Options>
    </OpenApiReference>
</ItemGroup>

Duplicate of #4633 ?

You are right, it works with 14.0.4. Closing this issue. I thought I had done a search for this error before, but maybe the other issue was closed shortly before I created this one.


pos_assigned_gt_inds_list, gt_masks_list, cfg_list) TypeError: 'NoneType' object is not iterable

When learning using my dataset, train.py can recognize bbox annotation(ex. training through faster r-cnn) but  when learning using segmentation annotation(ex. mask rcnn, casacade mask rcnn), the following error appears.
I checked that the segmentation annotation format in my dataset is the same as the segmentation annotation required in the coco dataset. How do I resolve this error?
ERROR:
pos_assigned_gt_inds_list, gt_masks_list, cfg_list)
TypeError: 'NoneType' object is not iterable

Too little information was provided, please use the issue template.

同样的问题，题主解决了吗？


Bugfix for SpinFormatter

Bug causes text input to allow empty input, or "-" when we should return the old value.

This isn't completely correct because it's on update.  This change fixes the original issue but prevents deleting the old value or typing "-" as the first character.  Not desirable behavior.  I closed the request and will rework.


Update README.md

The demo code suggests placing windowHeight below header, which breaks the build when testing. The updated documentation places windowHeight above.

This PR addresses Issue #12 which documents why this change is necessary.


Milestone_8 Deploy to Heroku

Dear TSE,

We deployed our application to Heroku. Below you will find the link:

here-is-the-link

We customized the README file and also added the link to it.

Readme
With all our respects...

@Kubilay

You did a great job on this project! 💜
Everything is ok and working perfectly! 😀
Congratulations on finishing your Rails Section!!
Please go ahead and merge.
Happy coding 🤓
--Maria Reyes


Refactor "toggle_plural_field.js"

Short description

While implementing another issue, I noticed that the file name "toggle_plural_field" does not describe the functions in it anymore well and the function showDuplicates can be refectored.
Proposed changes

Refactor showDuplicates by creating a helper function and removing duplicates
Change the filde name

Resolved issues

Fixes: #

@JoeyStk
Thank you for review 😃 All suggestions anc fix are addressed.


MS: complete MSOutput REST APIs implementation

Impact of the new feature
ReqMgr2MS
Is your feature request related to a problem? Please describe.
This is part of the output data placement migration to WMCore, see:
https://github.com/dmwm/WMCore/wiki/ReqMgr2-MicroService-Output
Describe the solution you'd like
Implement similar REST APIs to those already available in MSTransferor, see:
https://github.com/dmwm/WMCore/wiki/ReqMgr2-MicroService-APIs
So, we need to support at least the following 2 APIs:

status: gives a basic status of the service (should support a query string like detail=true, where further MSOutput details can be provided - to be defined in the future though)
info: right now a similar or even shorter information about the service. It should accept a query string like request=workflow_name, where a call to mongodb should be executed and the transfer record returned to the client.

Please check the ms-transferor APIs:
https://cmsweb.cern.ch/ms-transferor/data/info
https://cmsweb.cern.ch/ms-transferor/data/status
and - for now - implement a similar functionality.
Describe alternatives you've considered
none
Additional context
none

Since we are about to enable MSOutput in production, we need to have a way to look into the workflow and transfer details ASAP.
@todor-ivanov Todor, could you please work on this issue and try to get it done by this Friday (we might need to patch the production MSOutput)? I have just updated the initial description.


Feature: Logging

Logging
goals

full logging which outputs to stdout/stderr as we do now (and better!)
ability to provide an adapter in future, to customise the destination/output of the logging system
error levels
application levels
delete logic in errors/index.js

reasons why we have to change things

we need a consistent way to a log into a file/stdout --> right now we use morgan to log requests and a custom logging (chalk and console.log) for errors
we want to log more then just a single line GET URL StatusCode for requests (especially in development mode)
what we want to achieve is printing all logs (request/response/errors) in the same format (which i think can be JSON)
we need to tidy up (or remove) /errors/index.js, because it's doing more then it needs to do, is way to complicated in my opinion (we export ~15functions) and we want to differ the errors from a logging unit
we want to create a real logging adapter (which can be replaced)
this adapter can/should be used in each Ghost microservice
we want to handle and tidy up context/help for errors
we don't have proper levels (application levels, error levels, error codes)
log into file has the background: if we log stdout into the process, the process will grow over time. if we log into a file, we can rotate on that log file an delete after x days (this is helpful for each blog running in production)
remove the logger from migrations
more reasoning/descriptions can be found in #2001 and #6526

bunyan vs. winston vs. debug
As already discussed, debug is a nice npm tool to get debug logs per file with auto-includes milliseconds between each debug log.
But our big goal is creating a logging unit, which can do more then just printing debug logs.
I've used winston in the past and we've switched to bunyan, because the bunyan API is easier to use, easier to read and it has the advantage of nice JSON prints. That's why i would go with bunyan.
create a default logging adapter
server/logging/default.js
Developers should easily add custom loggers, if they prefer a different logger.
It should provide functions like info, error, warn, and debug.
info

with info you can just log a single line like "ghost server is starting"
with info you can also log complex json objects like request/response

error

accepts an error object and optional request/response object

warn

accepts only a string

debug

accepts a single JSON object
accepts a single string

  var logging = require('/logging');
  logging.error({ err: err, req: req, res: res });
  logging.info('server starts now...');
  logging.info({ req: req, res: res });

output
Right now our server print looks like (only stdout):
GET / 200 140.121 ms - -
GET /assets/js/jquery.fitvids.js?v=4d853bd599 200 17.077 ms - -
GET /assets/js/index.js?v=4d853bd599 200 16.385 ms - -
GET /assets/css/screen.css?v=4d853bd599 200 19.621 ms - -

This print is managed by morgan, which is configured in middlewares/index.js. We will delete this.
Instead we will auto log requests/responses/errors.
  expressApp1.use(logging.utils.express);
  expressApp2.use(logging.utils.express);

function express
  res.once('finish', function() {
    if (req.err) {
      logging.error({ req: req, res: res, err: req.err });
    }
    else {
       logging.info({ req: req, res: res });
     }
  });

   next();
});

Which can look like (transport: stdout)

Which can look like (transport: file)

We could extend our upcoming Ghost CLI to offer: ghost-cli log (which will prettify the .log file)
log into file
We should be able to configure the transport (file, stdout)
We can start defining the transport per env.
production
file only
staging
file only
development
stdout only
application levels
Every env is by default in level info.
You can either force starting it different mode (debug) by changing the config or using NODE_LEVEL.
error levels
Each error will be default in level "normal".
We can define an error as critical, which get's treated differently in Ghost(Pro).
time diffs
We can add time diffs between logs, like the npm module debug is offering. Not high prio.
ensure we don't log credentials
Filter attributes.
bring help/context into errors
Right now we pass context and help as different parameters.
We want to achieve having context and help as part of an error.
show debug logs in testing mode
NODE_LEVEL=debug grunt test or grunt test -d (--debug)
Should show print outs like errors.

Maybe you can implement Structured Logs with Gelf?
http://docs.graylog.org/en/2.1/pages/gelf.html

@jalogisch I'm gonna call you out here - these sorts of one line comments are not at all helpful. I'm sure you have a good point to make, so tell us what it is!? Why would we want to use your suggestion? What about it is better than the proposal above?
@kirrg001 has spent a lot of time investigating and invested time in writing up a full spec - if you want to be heard, one line isn't enough 😉

Sorry @ErisDS you are right my bad. I just behave like the people I tend to ignore. Sorry @kirrg001 that I do not honor your work with a valid comment include why I think this is useful.
In the spec is already written that you will Log with JSON and that is very sweet as it will make the Logfile more useful if you transport it over to a central place.
My Idea I just pushed that rude in the round, why not implement GELF that will give not only Graylog the ability to parse the Information out of the Logfile without further work from the user.

And - even this is not the right place - thank you for starting Ghost. For me, this is the best Blog Plattform.

@jalogisch, @ErisDS: I use graylog2 and I would appreciate a config file or adapter I could plug GHOST blogs into a lot! For development it wouldn't make my workflow a lot better, but to know when things to sideways in production, it's pure gold, also for 404 hits.

Thanks for feedback and interest.
As described, logging should act as an adapter. It's not yet decided how this will work - so people can use a different adapter for logging or extend the default one.
As far as i understood graylog2 can act as a stream, see https://github.com/mhart/gelf-stream.

Hey all - long time follower of Ghost, first time poster. I felt that I might be able to bring something to the table here cause logging is kinda my jam by day...
Logger (alternative)
For node applications, my team has used log4js-node (https://github.com/nomiddlename/log4js-node). It's been pretty good to us, and for those who are Java developers also, it will be familiar. It's ability to easily allow developers to configure logging and add 'appenders' makes it extremely convenient to log to any output you might think of (it comes with plenty OOB but you can also write your own).
One other suggestion I would make here, and this is critical - try find/build into a logging framework a request context. That is, on each user request, create a guid which is passed through to each subsequent log call in the system. This is especially useful for developers when you have many concurrent requests, or your system is distributed. (btw, i don't want to open a can of worms, but someone said microservices? why does ghost need a microservice architecture? i know... probably a question for another thread)
Levels
Definitely all the usual + request entry/exit i.e. error, warn, info, req entry/exit, debug, trace
As someone mentioned probably a good idea to find a way to obfuscate/eliminate sensitive info from logs.
Don't separate your http request entry/exit from application logs, honestly it makes it that much easier to trace an issue.
Developer Interaction
A few people have thrown around Graylog 2. Honestly I love Graylog, its a great OS project, but I don't really see this as being a concern for Ghost, albeit some saying printing logs in GELF format for easy Graylog ingestion. The main thing is that developers have some easy way in which they can access their logs from whatever tool they feel comfortable with (whether that be tail, ELK, graylog etc.), and that the logs have a clear and consistent structure. JSON was suggested originally and I would back that. GELF has a good base structure to it, and it is in JSON, but Ghost needs to go with what works for it. One pitfall of GELF, is that although you can add custom fields to it, they are restricted to string/number. That sucks if for some reason you need the ability to log more complex objects or collections in a single message (and my team has come across that).
One pearl of wisdom here - consider the format of your timestamp carefully (many tools are restricted to millisecond precision and additional processing will have to be done to make the messages ingestable).
One other note on Graylog - its super powerful and will take just about any message that gets to it (through tcp, kafka, logstash etc, and in plaintext, json, gelf) so again, I wouldn't worry so much about the tool as producing quality logs with consistent structure, and easy adaptability.

@twgraham Hey thanks for suggestions.

For node applications, my team has used log4js-node (https://github.com/nomiddlename/log4js-node). It's been pretty good to us, and for those who are Java developers also, it will be familiar. It's ability to easily allow developers to configure logging and add 'appenders' makes it extremely convenient to log to any output you might think of (it comes with plenty OOB but you can also write your own).

Bunyan supports streams, which looks like the same then "appenders".

One other suggestion I would make here, and this is critical - try find/build into a logging framework a request context. That is, on each user request, create a guid which is passed through to each subsequent log call in the system. This is especially useful for developers when you have many concurrent requests, or your system is distributed. (btw, i don't want to open a can of worms, but someone said microservices? why does ghost need a microservice architecture? i know... probably a question for another thread)

I assume you are talking about a correlationId?

No worries if bunyan has the same concept. Yep a correlationId at the core of it - thats whats important. I guess I refer to it as the context because there might be some other pieces of data that might be pertinent to subsequent log calls (i've come across cases).

Now that we have merged some basic for our new logging module 🎉 , there are still some open questions we would like to get feedback to.
Default GhostLogger behaviour
Right now the default GhostLogger (see https://github.com/TryGhost/Ghost/blob/master/core/server/logging/GhostLogger.js) is able to do the following:

register streams depending on the logging config (stdout or/and file)
register serialisers to define the volume of the output
expose a default setting of functions for logging within Ghost: error, warn, info, request
it provides a function to remove sensitive data from a log entry

Log into multiple log files
When GhostLogger logs into file, right now it only logs into one single file.
We already got the feedback to also stream the errors into a separate file. We can do that.
So we could create a file named ghost/errors.log and ghost/access.log.
ghost/errors.log would contain HTTP requests with errors and errors which happened outside of an HTTP request.
ghost/access.logwould only contain 20X requests.
To give you a background why logging HTTP requests with errors is important:
We log into file via JSON. If we would log only the pure errors into an errors.log file and all the HTTP requests into a separate file, it's hard to find the connection between HTTP request an error. So if an error occurred within an HTTP request, then they strongly belong together.
When always logging HTTP request and error together, they both appear as one log entry in JSON log file. If you now want to send your logs to a centralised place (for example to ES/Kibana) to analyse your errors, it is very easy to read, make statistics, send mails based on these JSON data.
Location of the log files
Best practise would be /var/log/ghost. But what if somebody runs two processes of Ghost on one machine?
We could add any unique folder prefix. How about domain+port?Would look like /var/log/ghost/my-domain:8080/.
Any concerns about permissions?I don't have any.
Custom Logging adapter
I would like to publish the GhostLogger to npm when it's ready, so people can install it and inherit from it.
I think people are interested in adding custom streams (see https://www.npmjs.com/search?q=bunyan) or they want to override the whole existing logging functions, also fine.
Current function set
setStreams
This function reads the logging config and based on it, it creates a stream for file and a stream for stdout.
People could override this function and set their own streams.
I would suggest having a more smaller function likesetStream, which they can call.
This takes a couple of required parameters. So they can just call setStream and add another stream or override a default one.
So people could still use the stdout stream, but can override the file stream.
setSerializers
Ghost will send by default three parameters: req, res, err. This can't be changed.
So it makes sense to only have one serialiser for now?I don't see a reason to override the serialisers?
Rotate files
By default we have configured 3 rotated files each 1 week. This was just a default configuration to start with.
I think it's fine to keep the last 10 weeks for example. And people can increase that value per config. What do you think?
Default logging config
Right now we have a default logging config, which is:
production
    "logging": {
        "level": "info",
        "rotation": true,
        "transports": ["file"]
    }

development
    "logging": {
        "level": "info",
        "rotation": false,
        "transports": ["stdout"]
    }

There is for example no level per stream/transport. And i don't see any reason why we would need that?
In real scenario, you have disabled file stream and enabled stdout stream in development mode.
In real scenario, you have disabled stdout stream and enabled file stream in production mode.
You would never enable both. Any opinions?
Stdout pretty stream
We log into file with pure JSON. But that looks not pretty when just printing JSON to stdout in development mode.
Current usage

This is basically a fork of node-bunyan-prettystream, the way we output was just rewritten within 20mins.
We can extend this pretty streamer with a short mode to not get a huge output if you don't want to see it.
We can make this implementation abstract and publish. Right now it strongly depends on the Ghost structure, which is req, res, err.
Alternatives
I've researched a lot of times and never found a nice npm pretty streamer. But let me introduce them:
https://github.com/mrrama/node-bunyan-prettystream
I've tried that one in the past and i was never satisfied. See here:

First of all: not good maintained. There are a lot of forks, people just adapt what they want and that's it.
It's not bad, but has some ugly unhandled cases like: req.params=[Object].
https://github.com/benbria/bunyan-debug-stream
Not good support for req/err/res output.
https://github.com/Wiredcraft/bunyan-logger
Has not a good code design. No granular options. Hard to integrate!
https://github.com/thlorenz/bunyan-format
Always throws an Error for me.  And expects always a string when calling the loggers, which is weird.
One thing to notice: we can replace the stdout pretty streamer at any time, it's one single line and if people don't like it, they can create a custom logger adapter and only override the stdout streamer.
If you find something you like, please suggest!!! I am happy about it!

Location of the log files

Best practise would be /var/log/ghost. But what if somebody runs two processes of Ghost on one machine?
We could add any unique folder prefix. How about domain+port?Would look like /var/log/ghost/my-domain:8080/.
Any concerns about permissions?I don't have any.

Perhaps change the colon : into an underscore or something? Or maybe just the domain itself. Having the colon in the log file could break a few things on different OS' (Windows machines for example)

Another TODO I wanted to log here (maybe we need to split these into must-haves and nice-to-haves 😉 ) is to do with grouping errors - it's not really related to logging but to error handling, but this is kinda of the catch all issue for that stuff now 😁
One of the fiddly bits we have at the moment, is the idea that we might return multiple Validation errors. That's a cool idea and super useful for returning nice API responses to our clients. However, it's a PITA from an implementation perspective.
Also, Bluebird now throws warnings if you try to call Promise.reject() with a non-error, e.g. if you call it with an array of errors.
With themes, we wrap multiple errors inside a ThemeValidationError. For validation errors, I think it might be a good idea to wrap multiple errors inside an AggregateValidationError or to support multiple errors inside of one ValidationError? In short, lets always pass 1 error around, even if it contains many errors.
I think this will simplify the code, whilst letting us still return super smart JSON error responses via the API.

to support multiple errors inside of one ValidationError? In short, lets always pass 1 error around, even if it contains many errors.

Yes i like that. Each error can have a set of errors. Something like:
ValidationError
  - message
  - errors [{ message: ...}, {message: ...}]

Hi @kirrg001 – great work on this!
You asked if anybody had concerns about the location of the log files and permissions, and I do. I am in the process of attempting to get Ghost to run on now (an immutable server) so attempting to write to file locally would error. Heroku (an ephemeral server) could lose locally written files. This means a storage adapter solution that allows removal of all local writes is important. See https://gist.github.com/colinmeinke/978812f69bc9ea83390b231f8889318e for more detail about the problem.
I appreciate files have to be written locally by default. I think /content/logs/... would be a natural choice. Keeping the content directory as the only local directory Ghost writes to, and then having a storage adapter system that could abstract away each subdirectory to external servers would be ideal. This also solves the problem of multiple Ghost instances on the same server.

@colinmeinke Hey!

This means a storage adapter solution that allows removal of all local writes is important. See https://gist.github.com/colinmeinke/978812f69bc9ea83390b231f8889318e for more detail about the problem.

I see. That's why we offer the ability to add a custom logging adapter, which inherits from the default logging adapter. The custom logging adapter can define or override a stream where to send logs to. https://www.npmjs.com/search?q=bunyan+stream

/content/logs/... would be a natural choice

Do you have any references?I am aware of /var/log as natural choice. But would like to see some references.

@kirrg001 sorry, I meant the local ghost content directory, not at the root of the file system.

sorry, I meant the local ghost content directory, not at the root of the file system.

Ah ok - sounds like a good idea 👍

Tested logging on Windows 10 with gitbash.
Log into file: worked
Log into stdout: worked
I just created one small issue to add the log folder to content/logs and add a README.md or .gitkeep, because it's not a nice experience starting Ghost in production and you would get an error that the logs folder does not exist.

Added an issue to Ignition to source out the log-request middleware: see https://github.com/TryGhost/Ignition/issues/14

Will close this issue now. All tasks are completed. Thanks for all comments.
We are happy about any feedback. Just create a new issue if you find a bug or join our slack channel if you have ideas or improvements to share.


Program does not contain a static 'Main' method suitable for an entry point

Description
When I upgrade to Microsoft.NET.Test.Sdk v16.3.0 and rebuild, I get the below error message:

Program does not contain a static 'Main' method suitable for an entry point

Switching back to Microsoft.NET.Test.Sdk v16.2.0 clears the error.
This has been consistent for both .NET Core 2.1 and 3.0 test projects. It affects both MSTest and xUnit projects.

@Grauenwolf Can you please add some more details. What is the version of dotnet cli and VS on the machine? I am assuming you are able to reproduce the issue using a simple unit test project.

@Grauenwolf Are you still facing this issue ?

I just retested with a clean project and it is still happening.
UnitTestProject2.zip
VS: 16.3.2
Core: 3.0.100

all
runtime; build; native; contentfiles; analyzers; buildtransitive

@Grauenwolf I am sorry, not able to reproduce the issue.
I tried on VS 16.3.5 using the project that you shared.

Closing this issue for now. Please share more details so we can help diagnose this.

I have the same issue.

@MarkBrainfire Could you please give us more details? Which version is working and which version isn't? Do you have any repro you could share with us? Thanks

I solved the problem by updating Microsoft.NET.Test.Sdk from 17.1.0 to 17.2.0 (or above)
DETAILS:
I'm using .NET 6 / VS 17.3.0 Preview 4
The current XUnit project template imports:
Microsoft.NET.Test.Sdk (17.1.0)
xunit (2.4.1)
xunit.runner.visualstudio (2.4.3)
The error message "Program does not contain a static 'Main" method suitable for an entry point" goes away when the Microsoft.NET.Test.Sdk is updated to either 17.2.0 (or the preview 17.4.0).  Updating xunit and xunit.runner.visualstudio doesn't have any impact on this problem.

I started getting this issue suddenly in 17.8.0. Reverting to 17.7.2 solves it...
It is important to mention that the issue did not reproduce immediately, but that it started showing up without any apparent reason or relevant code changes.

@MoaidHathot Do you have a repro please?


[Bug] Cannot fetch an emoji.

What's the bug?
Hi!
I try to react with an emoji but I get an error that is way too strange to not be a bug.
My code :
[imports]
const WAIT_EMOJI = '813551205283790889';
const LABS_TS = '507389389098188820';

class MyCommand extends Command {
	[...]

	public async execute(ctx: CommandContext): Promise<void> {
		ctx.message.addReaction(await ctx.client.emojis.fetch(LABS_TS, WAIT_EMOJI));
	}
}

The error :
error: Uncaught (in promise) DiscordAPIError: {
  url: "https://discord.com/api/v8/channels/620663106250604546/messages/818225520994549840/reactions/%3Ca:wa...",
  status: 400,
  method: "PUT",
  code: 50035,
  message: "Invalid Form Body",
  errors: {
    emoji_id: [
      {
        code: "NUMBER_TYPE_COERCE",
        message: 'Value "813551205283790889>" is not snowflake.'
      }
    ]
  },
  requestData: {
    headers: {
      "User-Agent": "DiscordBot (harmony, https://github.com/harmony-org/harmony)",
      Authorization: "Bot ODAxOTc0NTIxMTMzMjY5MDUz.YAoe-Q.is9H6QQgGmxMIyBdS3YB5PWCTF8"
    },
    body: undefined,
    method: "PUT"
  }
}
      reject(new DiscordAPIError(Deno.inspect(error), error))
             ^
    at RESTManager.handleStatusCode (https://deno.land/x/harmony@v1.1.2/src/models/rest.ts:500:14)
    at Object.onComplete (https://deno.land/x/harmony@v1.1.2/src/models/rest.ts:577:22)
    at async https://deno.land/x/harmony@v1.1.2/src/models/rest.ts:249:30

Process finished with exit code 1

What should have happened?
Fetch the emoji and react with it.
What is actually happening?
Crash because it searched the emoji with the ID + >, and the link strangely finish with <a:wa, but the emoji is <a:wait:813551205283790889>.
What versions you're using?

OS: Windows 10 (21H1 Bêta, version 19043.844)
Deno: Deno 1.8.0
Harmony: Latest (1.1.2)

Do you have anything to tell us more about the bug?
This should be better documented, with typedoc for example.

Thanks for reporting this bug! I'll make a PR in a bit to fix this. I checked discord docs, emoji has to be URL encoded from <name>:<id> and not the emoji string but its currently done wrong .-.


Cannot set setter value starting with hyphen

kpt cfg set -- DIR/ some-setter '-test' fails with the message
Error: unknown shorthand flag: 't' in -test

I have tried various ways of quoting/escaping the hyphen and placing -- differently also doesn't help - if I shift it right I get the same error, if I shift it left kpt doesn't recognize the sub command anymore.

@pwittrock I couldn't get it to work at all, not sure if it is because I use set instead of create-setter

Hi guys,
I found a workaround to get around by using the flag terminator (--).
Here is what you can to pass a value starting with hyphen:
kpt cfg set helloworld replicas -- -- '-test'
Let me know if that solves the problem.
For the code part, it issue is rise from flag parsing where it took everything starting with "-"
as flag.
see:
https://github.com/spf13/cobra/blob/94a87a7b83bda98e918cf7a4793f41372a5e4139/command.go#L1597

@jijiew That did indeed work! Thank you!


fix(remappings): explicit lib remappings should override detected

Motivation
Closes #4717
Closes #6431

Solution

Just for sake of history, if some one stuck in the work because of No such file or directory (os error 2) same as I did. This very PR solves the problem. Feel free to fetch and build it locally.


 With the second attempt, the patch applies properly.

When I was attempting this I was also converting all the patches over to git format so maybe I'd screwed something up on my end.
wine should build without issue but let's leave the action to complete then fixup then squash and fixup the commit message.


Tooltip overflow problems

Describe the bug
It doesn't work correctly on overflow patterns.
To Reproduce
Steps to reproduce the behavior:

Create overflow table
Add tooltip

Expected behavior
See all tooltip content.
Screenshots

Desktop (please complete the following information):

OS: macOS Monterey 12.4
Browser: Firefox
Version: 104.0.2

Tooltip component uses fixed positioning, so it should not have a problem with overflowing parent. Can you reproduce this in a public environment? I tried with a codepen here and it looks ok: https://codepen.io/muratcorlu/pen/XWqaONd

Sure 👍 . Stackblitz

Stackblitz didn't work on my Firefox and Safari. I dowloaded the project and checked it on Chrome, Firefox and Safari and couldn't notice any issue. I tried with Firefox 105.
For clarity: Does it happen only on Firefox for you? Or does it also the case on Chrome or Safari?

No problem in Chrome. Firefox (104.0.2) and Safari (15.5) has problem.

You need to trigger the sticky element. To do this, you need to reduce the viewport width.

I wrote new code for the triggered version. Overflow and sticky effects. I mentioned it in the comment lines. Codepen


Fix double modals for scale(-value) deletion

Actually one solution to #442, just hiding one modal as long as another is open, was relatively easy to implement in the particular case of the delete modal and the scale editor being open at the same time.
Note that this includes #440, since that's the only way to even observe the faulty behavior right now.

As with #444, I already merged this into the Münster branch, so there is no rush in getting this into master. We can leave it as a draft for now until we come up with something better. However, I think a proper workaround for #442 would take quite some time, so I don't know when this will be. :thinking:
I would say we merge this, @Arnei creates another issue for the problem described, and I'll take a look at it soon-ish.
For Münster, what you describe is not a problem, because I had to refactor deleting scales (and scale values, labels and categories ...) quite a bit, and that seemed to have fixed that particular bug. And maybe that's even the solution for master: Just get the Münster changes merged and the problem goes away.

As with #444, I already merged this into the Münster branch, so there is no rush in getting this into master. We can leave it as a draft for now until we come up with something better. However, I think a proper workaround for #442 would take quite some time, so I don't know when this will be. :thinking:
I would say we merge this, @Arnei creates another issue for the problem described, and I'll take a look at it soon-ish.
For Münster, what you describe is not a problem, because I had to refactor deleting scales (and scale values, labels and categories ...) quite a bit, and that seemed to have fixed that particular bug. And maybe that's even the solution for master: Just get the Münster changes merged and the problem goes away.

I agree with merging this, given that this is something that should be working already.
If your work for Münster helps with fixing the other issue and can be integrated into master, all the better :)

I agree with merging this, given that this is something that should be working already.
If your work for Münster helps with fixing the other issue and can be integrated into master, all the better :)


chore: :page_facing_up: update license to 2023

Now 2023 has come and our project is still being maintained! The year of license should be upgraded to 2022-2023! (😍


Auto corrected by following Lint Ruby Style/SoleNestedConditional

Auto corrected by following Lint Ruby Style/SoleNestedConditional
Click here to configure it on awesomecode.io

Coverage increased (+0.05%) to 78.486% when pulling ef6fe938d8e1a8b17728885026cd6e19c4b2c8fd on awesomecode-lint-ruby-style-solenestedconditional-48528 into 96cf8acb5220540321e3d1fb62d96d9625b3afe1 on master.


tests: Add a unit test for ComparedToFieldConstraintTest

Add unit tests for a specific case as we had concerns with this specific code when $other_node_content is null (x-link #7879)

The tests test_if_it_validates_constraint_if_other_is_null_and_no_error/test_if_it_validates_other_node_empty_values_correctly_with_gt_and_no_error will specifically trigger that case.
/cc @fichtner :pray:

Merged, thanks!

@kumy finally back home so I  tried this and all tests pass. I thought you would add the test to it that would break under the current code?

@kumy sorry for the delay. To reiterate: I would expect a test case to fail because you raised #7879 so there has to be a test case that isn't covered and would break without the PR merged and fixed when the PR is merged?

They are here. Do you wanna them in a distinct PR?
https://github.com/opnsense/core/pull/7879/files#diff-ddb4f140a20a4a3d87274cf0793601132f7fa90b69f2e494cbe39be49c597237R81-R118

Yes, please, that would be great.


[RAINCATCH-724] Standardize package names

@nialldonnellyfh Let's have some agreement on this and do it on friday (weekend) to not disrupt work. I remember that we had some plans about naming. Should we rename this ?

Closing as out of date


updated: run while onroad

This may only be possible on the three, unless the two has enough CPU headroom

probably not necessary after #23827

Need to limit CPU and memory to something reasonable in order to run onroad. Git uses lots of memory, so we need good tests to ensure if we limit it with cgroups that it doesn't just crash.


Build server address string as of AOS-248

Description
To avoid bug #330, we need to build server address string by adding to it http[s]:// prefix.
In scope of this task I updated the connection dialog to support 2 new fields:

port (integer)
useSSL (boolean)

The resulting address string is built according to the user input.
The code has some protection against incorrect input, for example, it can proceed properly if user already added prefix and/or port.
New connection dialog pic:

Issues Resolved
AOS-248, AOS-239
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Could you maybe add instructions and screenshots to https://github.com/Bit-Quill/opensearch-project-sql/blob/main/sql-odbc/docs/user/power_bi_support.md?


function: implement uast_imports UDF

Closes #943
After changes to the structure of imports, the way we used to collect
them is no longer valid, so now we're using the uast.AllImportPaths
helper included in the bblfsh sdk to obtain import paths from nodes.

[x] I updated the documentation explaining the new behavior if any.
[x] I updated CHANGELOG.md file adding the new feature or bug fix.
[x] I updated go-mysql-server using make upgrade command if applicable.
[x] I added or updated examples if applicable.
[x] I checked that changes on schema are reflected into the documentation, if applicable.

Travis failing with some connection problem, retry would probably fix it.


musig module

I want  to use musig api in my program. I run the following commands:
./autogen.sh
./configure --enable-experimental --enable-module-schnorrsig --enable-module-musig
make
sudo make install
Then,the headfiles are in /usr/local/include directory,libsecp256k1.a is in /usr/local/lib directory.
I include the main_impl.h in my program,but I meet the problem of "invalid use of incomplete typedef ‘secp256k1_context'","unknown type name ‘secp256k1_scalar’"and so on .What else should I do?

Hi @eyebrown. You should not include main_impl.h but instead the header files in include/.


How to modifiy the drawImage function

Hello,
I need to modify the drawImage function to show a popup with the uploaded images on the server and choosing an existing image.
Then I choose the picture, I need to insert the good URL into ![]().
I made this into toolbar option array :
{
    name: "imageCustom",
    action: function drawImageCustom(editor){
        // Launch a bootstrap modal with the picture
        ....

        // But how I can insert the code ![](My_URL) into SimpleMDE ?
    },
    className: "fa fa-picture-o",
    title: "Insert Image"
}

Thanks for your replies.
Regards

var cm = editor.codemirror;
cm.replaceSelection("![](My_URL)");

@babeuloula Thanks ! You saved me some deeper code read :)


Modify language file

The name of a language should not include "中国人", but simplified Chinese.
"在 Grasscutter 上播放" is machine translation and unreasonable.
I think it should not be "选择 "原神" 文件夹", but the name of the game folder. It should not be translated into Chinese.
I think "启动" is more appropriate and reasonable than "游玩", which is in line with the habits of Chinese people, rather than blindly translating according to the default language files.

感谢 百度翻译、谷歌翻译、有道翻译等各种翻译为我这垃圾的英语水平提供帮助。此翻译文件是我做为中国人的理解来进行编辑与发布。我不应该因此受到任何辱骂、诋毁，谢谢 :)

Thank you for the fix :)


chore: Only build commonly used binaries

The default configuration of goreleaser builds windows and 32-bit variants of the binary.
Checklist

[x] Categorize the PR by setting a good title and adding one of the labels:
bug, enhancement, documentation, change, breaking, dependency
as they show up in the changelog

With this file the build flags are set in three places:

Makefile
Github pipelines
goreleaser config

That's pretty terrible. This stuff should be in one place, not 3. I don't like this but I also have no solutions other than throwing out goreleaser.

We could get rid of goreleaser and only publish the Container Images, that would make things much easier.


System IR guide does not work properly!

Hi,
I am doing a test for system-IR. Based on the latest version(commit: 032e50e91ecfe2256d8e6ddd5099def0015a9f2f, Mar 6), I follow the guideline of https://github.com/ARM-software/arm-systemready/tree/main/IR. But the command in the guideline does not work properly:
$ qemu-system-aarch64 -bios ${path2flash}/nor_flash.bin -drive file=${path2sysIR}/ir_acs_live_image.img,if=virtio,format=raw  -cpu cortex-a57 -smp 2 -m 2048 -M virt,secure=on -monitor null -no-acpi -nodefaults -nographic -rtc base=utc,clock=host -serial stdio -d unimp,guest_errors -machine virtualization=on
NOTICE:  Booting Trusted Firmware
NOTICE:  BL1: v2.8(release):v2.8-493-g2b7150b38
NOTICE:  BL1: Built : 16:23:05, Mar  7 2023
NOTICE:  BL1: Booting BL2
NOTICE:  BL2: v2.8(release):v2.8-493-g2b7150b38
NOTICE:  BL2: Built : 16:23:06, Mar  7 2023
NOTICE:  BL1: Booting BL31
NOTICE:  BL31: v2.8(release):v2.8-493-g2b7150b38
NOTICE:  BL31: Built : 16:23:09, Mar  7 2023

U-Boot 2023.04-rc3-00082-gb08ffdffdc (Mar 07 2023 - 16:22:10 +0800)

DRAM:  2 GiB
Core:  51 devices, 14 uclasses, devicetree: board
Flash: 32 MiB
Loading Environment from Flash... *** Warning - bad CRC, using default environment

In:    pl011@9000000
Out:   pl011@9000000
Err:   pl011@9000000
Net:   No ethernet found.
Hit any key to stop autoboot:  0
Scanning for bootflows in all bootdevs
Seq  Method       State   Uclass    Part  Name                      Filename
---  -----------  ------  --------  ----  ------------------------  ----------------
Scanning global bootmeth 'efi_mgr':
Scanning bootdev<EMAIL_ADDRESS>fatal: no kernel available
No working controllers found
scanning bus for devices...
Unknown seq -1 for label 'scsi'
Scanning bootdev 'virtio-blk#32.bootdev':
** Bad device specification virtio 20 **
  0  efi          ready   virtio       1  virtio-blk#32.bootdev.par efi/boot/bootaa64.efi
** Booting bootflow 'virtio-blk#32.bootdev.part_1' with efi
No EFI system partition
No EFI system partition
Failed to persist EFI variables
Missing TPMv2 device for EFI_TCG_PROTOCOL
Missing RNG device for EFI_RNG_PROTOCOL
No UEFI binary known at beeccc30
Boot failed (err=-22)
Unknown seq -1 for label 'nvme'
No ethernet found.
No more bootdevs
---  -----------  ------  --------  ----  ------------------------  ----------------
(1 bootflow, 1 valid)
=>

Qemu version:
$ qemu-system-aarch64 --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.24)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers

Is there anything wrong with my operation?

Hi @Jingzhao123 ,
The SystemReady IR ACS image build system has moved to new Yocto based build. Could you please follow the new README here:
https://github.com/ARM-software/arm-systemready/blob/main/IR/Yocto/README.md
The old README, that you had followed shall be de-commissioned soon.
Please feel free to contact us for any further queries.
SystemReady ACS Support

Hi, edhay,
Based on the yocto guide, there are still some errors!
Initialising tasks: 100% |################################################################################################################################| Time: 0:00:01
Sstate summary: Wanted 16 Local 0 Mirrors 0 Missed 16 Current 1149 (0% match, 98% complete)
NOTE: Executing Tasks
WARNING: Duplicate inclusion for /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/../poky/meta/recipes-kernel/linux/linux-yocto.inc in /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/../recipes-kernel/linux/linux-yocto_6.0.bb
ERROR: bsa-acs-drv-1.0-r0 do_compile: ExecutionError('/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/temp/run.do_compile.2140639', 2, None, None)
ERROR: Logfile of failure stored in: /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/temp/log.do_compile.2140639
Log data follows:
| DEBUG: Executing shell function do_compile
| ==================================================================
| This script will compile the Linux BSA Kernel module
| ==================================================================
| echo "Kernel source is set to /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source"
| Kernel source is set to /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source
| make -C /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source M=/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/platform/pal_linux/files modules
| make[1]: Entering directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source'
| make[2]: Entering directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-build-artifacts'
|   CC [M]  /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/platform/pal_linux/files/./src/pal_pe.o
| /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/platform/pal_linux/files/./src/pal_pe.c:111:1: error: conflicting types for 'pal_pe_call_smc'; have 'void(ARM_SMC_ARGS *)'
|   111 | pal_pe_call_smc(ARM_SMC_ARGS *ArmSmcArgs)
|       | ^~~~~~~~~~~~~~~
| In file included from /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/platform/pal_linux/files/include/pal_linux.h:32,
|                  from /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/platform/pal_linux/files/./src/pal_pe.c:22:
| /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/platform/pal_linux/files/../../../val/include/pal_interface.h:157:6: note: previous declaration of 'pal_pe_call_smc' with type 'void(ARM_SMC_ARGS *, int32_t)' {aka 'void(ARM_SMC_ARGS *, int)'}
|   157 | void pal_pe_call_smc(ARM_SMC_ARGS *args, int32_t conduit);
|       |      ^~~~~~~~~~~~~~~
| make[3]: *** [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source/scripts/Makefile.build:249: /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/platform/pal_linux/files/./src/pal_pe.o] Error 1
| make[2]: Leaving directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-build-artifacts'
| make[2]: *** [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source/Makefile:1852: /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/platform/pal_linux/files] Error 2
| make[1]: *** [Makefile:222: __sub-make] Error 2
| make[1]: Leaving directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source'
| make: *** [Makefile:42: all] Error 2
| cp: cannot stat 'bsa_acs_pal.o': No such file or directory
| echo "Kernel source is set to /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source"
| Kernel source is set to /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source
| make -C /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source M=/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val modules
| make[1]: Entering directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source'
| make[2]: Entering directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-build-artifacts'
|   MODPOST /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/Module.symvers
| ERROR: modpost: missing MODULE_LICENSE() in /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/bsa_acs_val.o
| ERROR: modpost: "os_p068_entry" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/bsa_acs_val.ko] undefined!
| ERROR: modpost: "pal_smmu_device_start_monitor_iova" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/bsa_acs_val.ko] undefined!
| ERROR: modpost: "pal_pcie_get_pcie_type" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/bsa_acs_val.ko] undefined!
| ERROR: modpost: "os_p061_entry" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/bsa_acs_val.ko] undefined!
| ERROR: modpost: "pal_mem_virt_to_phys" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/bsa_acs_val.ko] undefined!
| ERROR: modpost: "pal_mem_compare" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/bsa_acs_val.ko] undefined!
| ERROR: modpost: "pal_mem_free_pages" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/bsa_acs_val.ko] undefined!
| ERROR: modpost: "pal_pe_get_far" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/bsa_acs_val.ko] undefined!
| ERROR: modpost: "pal_is_bdf_exerciser" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/bsa_acs_val.ko] undefined!
| ERROR: modpost: "pal_pe_update_elr" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/bsa_acs_val.ko] undefined!
| WARNING: modpost: suppressed 103 unresolved symbol warnings because there were too many)
| make[3]: *** [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source/scripts/Makefile.modpost:128: /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/val/Module.symvers] Error 1
| make[2]: *** [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source/Makefile:1766: modules] Error 2
| make[2]: Leaving directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-build-artifacts'
| make[1]: *** [Makefile:222: __sub-make] Error 2
| make[1]: Leaving directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source'
| make: *** [Makefile:42: all] Error 2
| echo "Kernel source is set to /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source"
| Kernel source is set to /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source
| make -C /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source M=/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool modules
| make[1]: Entering directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source'
| make[2]: Entering directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-build-artifacts'
|   MODPOST /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/Module.symvers
| ERROR: modpost: missing MODULE_LICENSE() in /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/bsa_acs_test.o
| ERROR: modpost: "val_pcie_device_driver_present" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/bsa_acs_test.ko] undefined!
| ERROR: modpost: "val_memory_free" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/bsa_acs_test.ko] undefined!
| ERROR: modpost: "val_pcie_get_info" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/bsa_acs_test.ko] undefined!
| ERROR: modpost: "val_check_for_error" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/bsa_acs_test.ko] undefined!
| ERROR: modpost: "val_pe_get_mpid" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/bsa_acs_test.ko] undefined!
| ERROR: modpost: "val_pcie_is_devicedma_64bit" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/bsa_acs_test.ko] undefined!
| ERROR: modpost: "val_pe_get_index_mpid" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/bsa_acs_test.ko] undefined!
| ERROR: modpost: "val_dma_device_get_dma_addr" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/bsa_acs_test.ko] undefined!
| ERROR: modpost: "val_print" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/bsa_acs_test.ko] undefined!
| ERROR: modpost: "val_initialize_test" [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/bsa_acs_test.ko] undefined!
| WARNING: modpost: suppressed 29 unresolved symbol warnings because there were too many)
| make[3]: *** [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source/scripts/Makefile.modpost:128: /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/test_pool/Module.symvers] Error 1
| make[2]: *** [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source/Makefile:1766: modules] Error 2
| make[2]: Leaving directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-build-artifacts'
| make[1]: *** [Makefile:222: __sub-make] Error 2
| make[1]: Leaving directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source'
| make: *** [Makefile:46: all] Error 2
| echo "Kernel source is set to /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source"
| Kernel source is set to /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source
| make -C /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source M=/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files modules
| make[1]: Entering directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source'
| make[2]: Entering directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-build-artifacts'
| make[3]: *** No rule to make target '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/bsa_acs_pal.o', needed by '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files/bsa_acs.o'.  Stop.
| make[2]: *** [/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source/Makefile:1852: /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work/generic_arm64-oe-linux/bsa-acs-drv/1.0-r0/linux-acs/bsa-acs-drv/files] Error 2
| make[2]: Leaving directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-build-artifacts'
| make[1]: *** [Makefile:222: __sub-make] Error 2
| make[1]: Leaving directory '/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/tmp/work-shared/generic-arm64/kernel-source'
| make: *** [Makefile:40: all] Error 2
| WARNING: exit code 2 from a shell command.
ERROR: Task (/home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/../recipes-acs/bsa-acs-drv/bsa-acs-drv.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 2973 tasks of which 2969 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /home/jingzhao/coding/system_IR/arm-systemready/IR/Yocto/meta-woden/build/../recipes-acs/bsa-acs-drv/bsa-acs-drv.bb:do_compile
Summary: There was 1 WARNING message.
Summary: There was 1 ERROR message, returning a non-zero exit code.
2023-03-14 12:59:29 - ERROR    - Command returned non-zero exit status 1
+ '[' 1 -eq 0 ']'
+ popd
~/coding/system_IR/arm-systemready/IR/Yocto

On the other hand, I can not find the commit(032e50e91ec, Mar 6) in the latest arm-systemready repo. Is it missing?

Hi @Jingzhao123,
The build issue above is due to a compilation issue in the Linux BSA code, a dependent software. The same is now fixed.

Now please try again the same steps again.
https://github.com/ARM-software/arm-systemready/blob/main/IR/Yocto/README.md#acs-build-steps
SystemReady ACS Support

Hi @edhay,
I got the same error with prebuilt image v22.10_2.0.0_BETA-1. How to fix it, thanks.
NOTICE:  Booting Trusted Firmware
NOTICE:  BL1: v2.8(release):v2.8-528-gff65ac244
NOTICE:  BL1: Built : 02:41:30, Mar 14 2023
NOTICE:  BL1: Booting BL2
NOTICE:  BL2: v2.8(release):v2.8-528-gff65ac244
NOTICE:  BL2: Built : 02:41:32, Mar 14 2023
NOTICE:  BL1: Booting BL31
NOTICE:  BL31: v2.8(release):v2.8-528-gff65ac244
NOTICE:  BL31: Built : 02:41:35, Mar 14 2023
U-Boot 2023.04-rc4 (Mar 14 2023 - 02:40:14 +0000)
DRAM:  2 GiB
Core:  51 devices, 14 uclasses, devicetree: board
Flash: 32 MiB
Loading Environment from Flash... *** Warning - bad CRC, using default environment
In:    pl011@9000000
Out:   pl011@9000000
Err:   pl011@9000000
Net:   No ethernet found.
Hit any key to stop autoboot:  0
Scanning for bootflows in all bootdevs
Seq  Method       State   Uclass    Part  Name                      Filename

Scanning global bootmeth 'efi_mgr':
Scanning bootdev<EMAIL_ADDRESS>fatal: no kernel available
No working controllers found
scanning bus for devices...
Unknown seq -1 for label 'scsi'
Scanning bootdev 'virtio-blk#32.bootdev':
** Bad device specification virtio 20 **
0  efi          ready   virtio       1  virtio-blk#32.bootdev.par efi/boot/bootaa64.efi
** Booting bootflow 'virtio-blk#32.bootdev.part_1' with efi
No EFI system partition
No EFI system partition
Failed to persist EFI variables
Missing TPMv2 device for EFI_TCG_PROTOCOL
Missing RNG device for EFI_RNG_PROTOCOL
No UEFI binary known at beec5a70
Boot failed (err=-22)
Unknown seq -1 for label 'nvme'
No ethernet found.
No more bootdevs

(1 bootflow, 1 valid)
=>

Hi @Jingzhao123,
The issue seems to be related to u-boot. At our side with below u-boot version, the image is booting properly and grub option is seen.
U-Boot 2021.10-rc1-00232-ga0953b34d9
NOTICE:  Booting Trusted Firmware
NOTICE:  BL1: v2.5(release):v2.5-284-g87311b4c1-dirty
NOTICE:  BL1: Built : 23:15:55, Aug  4 2021
NOTICE:  BL1: Booting BL2
NOTICE:  BL2: v2.5(release):v2.5-284-g87311b4c1-dirty
NOTICE:  BL2: Built : 23:15:56, Aug  4 2021
NOTICE:  BL1: Booting BL31
NOTICE:  BL31: v2.5(release):v2.5-284-g87311b4c1-dirty
NOTICE:  BL31: Built : 21:25:37, Aug 16 2021
U-Boot 2021.10-rc1-00232-ga0953b34d9 (Mar 08 2023 - 18:35:30 +0530)
DRAM:  2 GiB
Flash: 32 MiB
Loading Environment from Flash... *** Warning - bad CRC, using default environment
In:    pl011@9000000
Out:   pl011@9000000
Err:   pl011@9000000
Net:   No ethernet found.
Hit any key to stop autoboot:  0
starting USB...
No working controllers found
USB is stopped. Please issue 'usb start' first.
scanning bus for devices...
Device 0: unknown device
Device 0: 1af4 VirtIO Block Device
Type: Hard Disk
Capacity: 524.0 MB = 0.5 GB (1073186 x 512)
... is now current device
Scanning virtio 0:1...
load - load binary file from a filesystem
Usage:
load  [<dev[:part]> [ [ [bytes [pos]]]]]
- Load binary file 'filename' from partition 'part' on device
type 'interface' instance 'dev' to address 'addr' in memory.
'bytes' gives the size to load in bytes.
If 'bytes' is 0 or omitted, the file is read until the end.
'pos' gives the file byte position to start reading from.
If 'pos' is 0 or omitted, the file is read from the start.
Scanning disk virtio-blk#32...
Found 4 disks
Missing RNG device for EFI_RNG_PROTOCOL
No EFI system partition
BootOrder not defined
EFI boot manager: Cannot load any image
Found EFI removable media binary efi/boot/bootaa64.efi
910848 bytes read in 16 ms (54.3 MiB/s)
Booting /efi\boot\bootaa64.efi
Welcome to GRUB!
error: no such device: ((hd0,gpt1)/efi/boot)/EFI/BOOT/grub.cfg.
error: serial port `com0' isn't found.
Can you please share the steps used to build the nor_flash.bin at your side. Also if possible, can you attach your nor_flash.bin here.
Thanks,
ACS team

Hi @edhay
I compiled according to the steps in the readme
mkdir working_directory
cd working_directory
repo init -u https://github.com/glikely/u-boot-manifest
repo sync
export CROSS_COMPILE=<path to gcc-arm-10.2-2020.11-x86_64-aarch64-none-elf/bin/aarch64-none-elf->
make qemu_arm64_defconfig
make
nor_flash.bin
According to the BBR documentation, the EFI_RNG_PROTOCOL is required.
Is there a problem with my QEMU environment?
Missing RNG device for EFI_RNG_PROTOCOL
Thanks

Hi @freeuser56,
I was able to reproduce the issue at my end with the nor_flash.bin, thanks for sharing the bin.
It seems the issue is due to some change in how u-boot scans virtio drive and loads "bootaa64.efi".  We are debugging this.
Please run below commands on u-boot terminal manually to proceed in meantime.
=> virtio scan
=> virtio info
=> fatload virtio 0 $kernel_addr_r EFI/BOOT/bootaa64.efi
=> bootefi $kernel_addr_r $fdtcontroladdr
Successful run of these commands should give grub screen, in case still no grub screen is seen. Please share the output of these commands.
Thanks,
ACS team

Hi @chetan-rathore
Successfully running on the u-boot terminal manually.
Thanks

Some updates:
It seems there is some change in latest u-boot boot cmd flow, which has caused this.  We are trying to get the last commit with which image was booting fine and will update README to use that tag/commit.

@chetan-rathore
Thanks for your reply.
Now, I use the prebuild image, but not the manual build image temporarily. And please let me know if it has been fixed.
Thanks again!


fix: Table V1 to support Auto Layout. Added auto-height for DatePicker

Description
I failed to add support for Table Widget V1 since I thought that widget is deprecated. It was not the case since that widget can be added via generate CRUD page flow. This PR adds auto layout support for Table widget V1.
Another case I missed is to add auto-height for Date picker. That is also being addressed in this PR.
Fixes #22323
Fixes #22325
Fixes #22379
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Manual (Followed steps mentioned in the issue description)

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] PR is being merged under a feature flag

QA activity:

[ ] Test plan has been approved by relevant developers
[ ] Test plan has been peer reviewed by QA
[ ] Cypress test cases have been added and approved by either SDET or manual QA
[ ] Organized project review call with relevant stakeholders after Round 1/2 of QA
[ ] Added Test Plan Approved label after reveiwing all Cypress test

/build-deploy-preview env=release

/ok-to-test sha=ce09178

/ok-to-test sha=37ce1b4


SQLITE compilation stuck on 0% CPU Usage

I've a DB client written with the query! and query_as! macros and these cause my project to stall/get stuck at the last compilation step, it's stuck on the SQL check step of those 2 macros and it worked fine up until I did cargo update.
use super::features::{
    moderation::{
        Warning
    }
};
use sqlx::{
    Sqlite,
    SqlitePool,
    sqlite::SqlitePoolOptions,
    migrate::MigrateDatabase
};

#[derive(Debug)]
pub struct DB {
    pool: SqlitePool
}

impl DB {
    pub async fn new(url: impl AsRef<str>) -> Result<Self, String> {
        let url = url.as_ref();

        match Sqlite::database_exists(url).await {
            Ok(exists) => {
                if !exists {
                    if let Err(err) = Sqlite::create_database(url).await {
                        return Err(err.to_string());
                    }
                }
            },
            Err(err) => return Err(err.to_string())
        };

        let pool = match SqlitePoolOptions::new().max_connections(5).connect(url).await{
            Ok(pool) => pool,
            Err(err) => return Err(err.to_string())
        };

        // Run Migrations Here
        if let Err(err) = sqlx::migrate!().run(&pool).await {
            return Err(err.to_string());
        }

        Ok(Self {
            pool
        })
    }

    pub async fn find_warnings(&self, user_id: i64) -> Option<Vec<Warning>>{
        match sqlx::query_as!(Warning, "SELECT * FROM warnings WHERE user_id = ?", user_id).fetch_all(&self.pool).await {
            Ok(warnings) => Some(warnings),
            Err(_) => None
        }
    }

    pub async fn insert_warning(&self, warning: impl Into<Warning>) -> Result<(), String> {
        let warning = warning.into();

        if let Err(err) = sqlx::query!(
            "INSERT INTO warnings(user_id, description) VALUES(?, ?)",
            warning.user_id,
            warning.description
        ).execute(&self.pool).await {
            return Err(err.to_string());
        }

        Ok(())
    }

    pub async fn delete_warnings(&self, user_id: i64) -> Result<(), String> {
        match sqlx::query!("DELETE FROM warnings WHERE user_id = ?", user_id).execute(&self.pool).await {
            Ok(_) => Ok(()),
            Err(err) => return Err(err.to_string())
        }
    }
}

Any help would be highly appreciated!
The machines that this code was tested on:
Asus Zephyrus G14 with Ubuntu 21.04
MacBook Air M1 Base Model
Both with the 1.52 rustc compiler
sqlx 0.5.4

I think this issue ca be solved by https://github.com/launchbadge/sqlx/pull/1242

I see this with PostgreSQL on Linux, so I think it may not be limited to sqlite.

I think this issue happens only if you use a  .env File. I had the issue with sqlite and mariadb. The PR I mentioned should solve it.

Also seeing this issue w/potsgresql (ubuntu & debian) after upgrading to 0.5.4 (after downgrading from 0.5.3 to 0.5.1 over the weekend due to #1236). Downgrading again to 0.5.1 (version = "=0.5.1") seems to resolve the issue for the time being.

@Selyatin You can test if #1242 would fix your issue by temporarily testing against sqlx = { git = "https://github.com/toshokan/sqlx", ...}

@toshokan
I can confirm your fix fixes the issue for me. Thank you!


experiment with RFID-tags/cards and Web NFC

Create a page that writes/reads one-time pads to/from a RFID-card (4KB-version).
Check if there are any ID from phone that can be used to attach to the OTPs
Check if there are any ways of checking storage capacity on the card
https://developer.mozilla.org/en-US/docs/Web/API/NDEFReader

Create issues based on what you figure out and the feature/function list from the readme.

populateHTML():

Append element to console-div
scrollIntoVierw bottm

The scrollIntoView can be done like this:
const console = document.getElementById('console')
element.scrollIntoView({behavior: 'smooth', block: 'end', inline: 'nearest'})

Google Chrome Samples seems to show what I need:

code
demo

And type of element would be text with encoding set to low bitrate since it's just JSON with mostly just numbers 0-9, some a-zA-Z and []{}',

https://w3c.github.io/web-nfc/#save-and-restore-game-progress-with-an-nfc-tag


corrupted snapshot can prevent snapshot files gc

Bug Report

What version of TiKV are you using?
v3.0.8
What operating system and CPU are you using?
Doesn't matter.
Steps to reproduce
Some of snapshot files get deleted after received, so the snapshot is corrupted. And the peer is deleted before applying snapshot.
What did you expect?
Corrupted snapshot will be deleted in the end.
What did happened?
Store fails to delete the corrupted snapshot files. And all other stale snapshot files are not gc anymore.
The problem is it returns early here:
https://github.com/tikv/tikv/blob/master/components/raftstore/src/store/fsm/store.rs#L2129.

/cc @hicqu

/asssign @tonyxuqqi

/severity major


moment.js week format will return wrong value when cross year

Describe the bug
A clear and concise description of what the bug is.
moment("2018-12-31").format("YYYY-wo") will return 2018-01周，that was wrong;it should return
2019-01周 or 2018-52周。

@lv-conner If you're using w, wo or ww for week of year, you should pair it with gg or gggg for the matching 'week year'.

@lv-conner If you're using w, wo or ww for week of year, you should pair it with gg or gggg for the matching 'week year'.

thank you！


Compatibility with xdelta3 ?

hello,
First congrats on this library, I evaluated it and looks very interesting :eyes:
You mentioned the compatibility with open-vcdiff that is RFC3284 compliant and I verified you library is able to decode some files created with open-vcdiff so it's really good!
Have you checked xdelta3 ? I have seen several times it's compatible with RFC3284 too (on the source github https://github.com/jmacd/xdelta and for example on https://en.wikipedia.org/wiki/Xdelta), and I tried to check it but didn't succeeded. I suppose maybe some options of xdelta3 must be set and maybe you already explored this question :-) ?
I would like to use your library to decode a file created with xdelta3.
Thanks for sharing your experience here!
Regards
Joel

Sry for the late response.
Yes, I've used xdelta3 before. The problem is that pure RFC3284 requires us to read a full window before it can be applied. This is due to the fact that instructions and data are located in different buckets and, thus, in different memory regions.
This means, we need to store around 1MB of data in RAM - this is not feasible for microcontrollers which is the main reason I started writing this lib.
Google's openvcdiff violates the RFC when then -interleave flag is set. In that case, instructions and data are interleaved in the same bucket which enables this lib to apply deltas with minimal memory footprint.


Active orders model

activeOrders model created and seed file updated

Your PR Notes Here

@bellentuck purposefully left that out to test the defaultValue for the quantity column (set to 1). it works! you're paying attention though, nice ;)


S3 Polling Producer

Asana Task: 🛠 Add Raw GPS to Delta
The producer configuration will be:
  "producers": {
     "raw_gps": {
       "type": "s3",
       "bucket": "mbta-ctd-trc-data",
       "path": "rtr/prod/LightRailRawGPS.json",
       "frequency": ???
     }
  }

Though I'm not sure what the frequency should be and how the consumer configuration is done.
This should be deployed to dev before merging to make sure I got the AWS configuration right in prod.exs.
Things I'll need you to do:

[ ] Review
[ ] Set the configuration in Secrets Manager
[ ] Deploy to dev
[ ] Deploy to prod
[ ] Let me know where in s3 the stored data will be.

Terraform PR: https://github.com/mbta/devops/pull/547/checks


fix service overlay for tracing service.

Please provide a description for what this PR is for.
resolve: https://github.com/istio/istio/issues/22726
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ X ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@morvencao: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@morvencao: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Search for xi-core binary in cargo folder

Frankly, I'm not a big fan of this change. ~/.cargo/bin should be in your PATH environment variable and then it should work anyway. Also I don't think we should assume a certain location for xi-core except that it's in the PATH somewhere. For all other cases the location can be explicitly configured via the XI_CORE environment variable.

Yeah, that makes sense


2.0.0-CI00065: Streaming listing seems to make a http request for each element

Seems that each MoveNextAsync makes a http request at https://github.com/CrustyJew/RedditSharp/blob/2.0-.Net-Core/RedditSharp/Listing.cs#L440 for the streaming ListingEnumerator.
This seriously limits the throughput of getting new data - I got numbers between 0.2 to 1.7 comments per second for /r/all, which is pretty slow.
Reproduce (build 2.0.0-CI00065):
               var reddit = new Reddit(webAgent);

                var sub = reddit.RSlashAll;
                var comments = sub.GetComments();
                var enumerator = comments.GetEnumerator(100, -1, true);
                while(await enumerator.MoveNext(CancellationToken.None))
                {
                    // Do something
                }

Wow, I was just investigating this and discovered due to this that the pattern
var reddit = new Reddit();
var sub = await reddit.GetSubredditAsync("/r/help");
var list = sub.GetComments();
foreach(var comment in list)
{
}

Because someone screwed up with the return type, meaning that, even something as simple as:
var reddit = new Reddit();
var sub = reddit.RSlashAll;
var list = sub.GetComments();
var cur = list.GetEnumerator();
var com = cur.Current;
Console.WriteLine(com.Body);
Console.ReadKey();

Fails instantly.
I think I know the problem with this too, what IIRC you're supposed to do it actually write an observer and then use that,
https://github.com/CrustyJew/RedditSharp/issues/110 displays this well
The discussion is here: https://github.com/CrustyJew/RedditSharp/issues/42
I kind of disagree with what I said back then now, I'd rather not write a whole ton of boilerplate code just to be able to iterate comments every few minutes, but then again, that's the main problem with the whole asynchronous only stuff, we forgot simplicity.
Although: the "correct" way to do this now is.... LINQ:

var reddit = new Reddit();
var sub = reddit.RSlashAll;
sub.GetComments().Take(2).ForEach(a => Console.WriteLine(a.Body));
Console.ReadKey();

That's how you take a set amount of comments. (and print them to the console).
If you're streaming comments using the .NET Core branch, you're going to want observables, otherwise it'll be a true pain to actually deal with it since you can't actually write:
var reddit = new Reddit();
var sub = reddit.RSlashAll;
foreach(var comments in sub.GetComments())
{
}

Because you'll get this:
foreach requires that the return type 'IAsyncEnumerator<Comment>' of 'Listing<Comment>.GetEnumerator()' must have a suitable public MoveNext method and public Current property

My main problem is not the amount of code I need to write to get the stream of comments. The boilerplate for observables can be reduced with Reactive Extensions (System.Reactive), so that's not a problem for me.
My point is the actual speed of fetching those comments is really slow. I can reproduce that with obsevables too. My guess is that the paging api is used incorrectly and a new page is fetched for each value of the listing stream.

Yes, it appears that the paging system is caching the items however it's also attempting to refresh the number of items each time instead of doing so once it's reached the end of it's stream. My guess is to make it compatible with the Take thing, but it should be changed to actually use the cache it has.


ICSAAS-331 Clean up saas-aem-module

In discussion with @renaldas-szentiks-v we agreed that we should remove the intermediate saas folder (which was introduced to separate the saas components from the archetype generated ones)
e.g. apps/saas-aem-module/components/saas/search should become apps/saas-aem-module/components/search

[ ] please remove saas folder under /apps/saas-aem-module/components