Build an SAP Fiori UX app with SAP Gateway data

https://www.sap.com/developer/tutorials/teched-2016-4.html
I am trying to follow the tutorial group "Build an SAP Fiori app that consumes OData services, external mapping APIs and supports multiple languages."
Everything works fine until tutorial "Build an SAP Fiori UX app with SAP Gateway data". There my alpha-numerical string is not accepted. I checked, but I seem to miss my mistakes.
In the next tutorial "https://www.sap.com/developer/tutorials/teched-2016-5.html" I get 28 errors when pushing.
When deploying I don't get the option to navigate to the active version. And finally my app cannot be run from the Cloud Platform Cockpit. I get "HTTP Status 404 - Not Found" when clicking on my link "https://te2016-p2000134653trial.dispatcher.hanatrial.ondemand.com".
Can you please help me to fix the errors, so I can continue following the rest of the tutorial group?

Hi, this tutorial was updated to use the ES5 gateway service. Did you use sapes4 or sapes5? Your errors seem to indicate you are using the deprecated ES4 service.

I tried again and made sure to select the ES5 gateway service. I still get the error. Which Browser should I use? Should I use the SAP WEB IDE Full-Stack instead of the "normal" one?

Hello mhassett92,
Is it possible to receive the complete code of this tutorial? I'm getting errors.
Regards,
Gene5

For the Baleda validation issue - after more detailed investigation, it looks like these key values are not static anymore. Please enter the following value as this is the "correct" answer: 0050568C901D1ED893B59409515780FA . We will be changing the validation rule in the future.
As for the errors - can you share a little bit more? When you followed along with the template, did you choose standalone or App for Fiori Launchpad? (Do you have an index.html file?) We try to avoid giving away the completed code as we want our developers to learn how to use the tools and software.

Hi mhassett92,
Thank you for helping me.
My Fiori App is not working at step 15 of the tutorial https://www.sap.com/developer/tutorials/teched-2016-6.html
According to this step I have to placed the following code:

			<content>
				**<core:Fragment fragmentName="com.test.teched.view.Map" type="XML"/>**
					</content>
				</IconTabFilter>_

When I use this line of code, my Fiori App is not working!
Hopefully you can help me with this problem, so that I can see the Google Maps API working in my Fiori App.
//Regards,
Gene5

Gene5, Please open another issue as you are not reporting the same issues here, and I would like to continue to help Angela with her issue. Also, when reporting issues please include errors you are seeing and well as code snippets from your application.
Thank you,
Meredith

Hi Meredith,
after your last post I have opened https://www.sap.com/developer/tutorials/teched-2016-4.html, opened step 18 and posted your alpha-numeric string. It still says that my response is invalid :-D Could it be that is is not working, because I have not gone through the other steps again?

As you have already identified, that there is a small problem with the validation, it would be okay for me if you closed the ticket. Thanks for your time and effort!

Hi Angela, Are there trailing or starting space from the copied answer? The validation system is extremely strict :) Unfortunately, I can't force the validation from my side. If it is still causing problems, I will update the rule on Monday and you should be able to get credit then. Sorry about all the trouble!
Thanks,
Meredith

The validation rule has been updated - closing this now. Please re-open if you are still having issues!


Downloading latest vesions of sui and sui-test-validator

Downloading latest vesions of sui and sui-test-validator

For testing the workflow, could you make a dummy change like in https://github.com/MystenLabs/sui/pull/8497/files - this will trigger the e2e test to run


[SPARK-48488][CORE] Restore the original logic of methods log[info|warning|error] in SparkSubmit

What changes were proposed in this pull request?
The pr aims to restore the original logic of methods log[info|warning|error] in SparkSubmit.
Why are the changes needed?

In our structured log migration of the SparkSubmit file, we overlooked the special logic of this class, which overloads logInfo, logWarning and logError. Their real purpose is to print message to System.err, as follows:
https://github.com/apache/spark/blob/4360ec733d248b62798a191301e2b671f7bcfbd5/core/src/main/scala/org/apache/spark/deploy/SparkSubmit.scala#L1098-L1112

sh bin/spark-shell --verbose

Before:

After:

Does this PR introduce any user-facing change?
Yes, only restore to the original logic.
How was this patch tested?

Manually test.
Pass GA.

Was this patch authored or co-authored using generative AI tooling?
No.

I have compared the logic of spark version 3.5 as follows:

(base) ➜  spark-3.5.1-bin-hadoop3 sh bin/spark-shell --verbose
Using properties file: /Users/panbingkun/Developer/spark/spark-client/spark-3.5.1-bin-hadoop3/conf/spark-defaults.conf
24/05/31 20:22:21 WARN Utils: Your hostname, panbingkun.local resolves to a loopback address: <IP_ADDRESS>; using <IP_ADDRESS> instead (on interface en0)
24/05/31 20:22:21 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address
Adding default property: spark.connect.grpc.binding.port=8888
Adding default property: spark.connect.grpc.binding.address=<IP_ADDRESS>
Adding default property: spark.master=local-cluster[2, 1, 1024]
Parsed arguments:
  master                  local-cluster[2, 1, 1024]
  remote                  null
  deployMode              null
  executorMemory          null
  executorCores           null
  totalExecutorCores      null
  propertiesFile          /Users/panbingkun/Developer/spark/spark-client/spark-3.5.1-bin-hadoop3/conf/spark-defaults.conf
  driverMemory            null
  driverCores             null
  driverExtraClassPath    null
  driverExtraLibraryPath  null
  driverExtraJavaOptions  null
  supervise               false
  queue                   null
  numExecutors            null
  files                   null
  pyFiles                 null
  archives                null
  mainClass               org.apache.spark.repl.Main
  primaryResource         spark-shell
  name                    Spark shell
  childArgs               []
  jars                    null
  packages                null
  packagesExclusions      null
  repositories            null
  verbose                 true

Spark properties used, including those specified through
 --conf and those from the properties file /Users/panbingkun/Developer/spark/spark-client/spark-3.5.1-bin-hadoop3/conf/spark-defaults.conf:
  (spark.connect.grpc.binding.address,<IP_ADDRESS>)
  (spark.connect.grpc.binding.port,8888)
  (spark.master,local-cluster[2, 1, 1024])

Main class:
org.apache.spark.repl.Main
Arguments:

Spark config:
(spark.app.name,Spark shell)
(spark.app.submitTime,1717158141370)
(spark.connect.grpc.binding.address,<IP_ADDRESS>)
(spark.connect.grpc.binding.port,8888)
(spark.jars,)
(spark.master,local-cluster[2, 1, 1024])
(spark.submit.deployMode,client)
(spark.submit.pyFiles,)
(spark.ui.showConsoleProgress,true)
Classpath elements:

Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel).
24/05/31 20:22:23 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
24/05/31 20:22:23 WARN Utils: Service 'SparkUI' could not bind on port 4040. Attempting port 4041.
Spark context Web UI available at http://<IP_ADDRESS>:4041
Spark context available as 'sc' (master = local-cluster[2, 1, 1024], app id = app-20240531202223-0000).
Spark session available as 'spark'.
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.5.1
      /_/

Using Scala version 2.12.18 (OpenJDK 64-Bit Server VM, Java 17.0.10)
Type in expressions to have them evaluated.
Type :help for more information.

scala>

@panbingkun I am confused by the PR description. Also, I can't see any timestamps on my setup as you showed in

spark/core/src/main/scala/org/apache/spark/util/CommandLineUtils.scala

I have updated the description of PR, I'm not sure if it's a bit clearer this time
The reproduction process is as follows:

Before:
sh bin/spark-shell --verbose

After:

Thanks, merging to master


✔ Updated Complete UI  Of "Take Out Order" Page!

Hey @khushi-joshi-05 aand @sunny0625
issue closes #1359
I have updated the styling of the "Take out order" page.
Here's What I Did

I Have Completely Changed the UI of the Take out Order page which was totally misaligned earlier.
Added new Favicon to the Page.
Added New Functionality
- When a user selects an option, detailed information is displayed dynamically below the select box.
- For "Order Online", it shows the delivery time.
- For "Takeout Order", it shows the pickup time.
I have made the both the "Payment" Cards more functional by adding hovering effects to it.
Added a new shining hovering effect for both cards
Aligned the "Payment Info" Form Perfectly Organised.
Improved the "Have a coupon" Section with Stylings
Lastly**, I Have Updated the Footer with the New Footer**, which was earlier old.

Here's the Before Video -
https://github.com/user-attachments/assets/77fe7dbd-5486-4b45-beaa-c2285bd6d8bb
Here's the Complete Implementation -
https://github.com/user-attachments/assets/ef56dcf7-d7e6-49f7-a91f-37f846d4efe2
Type of PR

[x] Feature enhancement

Checklist

[x] I have gone through the contributing guide
[x] I have updated my branch and synced it with project main branch before making this PR
[x] I have performed a self-review of my code
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

@sunny0625


[GroupBy][Bug]: Invalid aggregated variable usage error for group-by key

Description
public function main() {
    var fn = from int m in 1...3
        group by int x = 1
        let int _ = x
        collect x; // error sequence variable can be used in a single element list constructor or function invocation
}

Steps to Reproduce
No response
Affected Version(s)
2201.7.0
OS, DB, other environment details and versions
No response
Related area
-> Compilation
Related issue(s) (optional)
No response
Suggested label(s) (optional)
No response
Suggested assignee(s) (optional)
No response

From the spec
A frame f is constructed. For each variable x that is bound by S, f has a variable binding for x that is [aggregated from](https://ballerina.io/spec/lang/master/#aggregated_variables) S.

Hence, invalid


Add session.interpreter @property?

This would redirect to self.virtualenv.interpreter. As a follow-up to this, I think there is another question:

Should Virtualenv._resolve_interpreter be allowed to mutate the value of self.interpreter. Modifying the value makes it hard to do checks like if session.interpreter == "foo" in a user's noxfile.py, since the value the user passed in may change (Resolved in #127)
Should Virtualenv._resolve_interpreter be cached forever after the first usage? I think this answer is a resounding yes? (Resolved in #127)

To add flame to the fire here, the session names correspond to the original passed in value of interpreter (i.e. func.python) but session.virtualenv.interpreter may be changed due to the side effects of _resolve_interpreter

What would this be used for?

As an example:
@nox.session(py=ALL_INTERPRETERS)
def unit(session):
    interpreter = session.virtualenv.interpreter
    if interpreter == PYPY:
        local_deps = pypy_setup(BASE_DEPS, session)
    else:
        local_deps = BASE_DEPS + (DEPS["scipy"],)
    if interpreter == PYPY or "2.7" in interpreter:
        local_deps += (DEPS["mock"],)

The scipy and mock deps could be handled with environment markers (e.g. ; python_version == '2.7' and ; platform_python_implementation == 'PyPy'). However the pypy_setup helper actually adds the --no-index flag to pip install and points to pre-compiled wheels via --find-links ${WHEELHOUSE}. This can't really be done in a requirements.txt since ${WHEELHOUSE} is determined at runtime.

I sent #127 for the second part (i.e. not modifying self.interpreter on instances of Virtualenv)

@dhermes is anything left to do here?

Yes. The prerequisite to adding the @property was that the value doesn't get mutated (done in #127). Now we can add it and it should be straightforward.

Cool. :)

@theacodes your commit didn't add this feature

@dhermes what am I missing? Pulling from your example above, this works:
@nox.session(py=ALL_INTERPRETERS)
def unit(session):
    if session.python == PYPY:
        local_deps = pypy_setup(BASE_DEPS, session)
    else:
        local_deps = BASE_DEPS + (DEPS["scipy"],)
    if session.python == PYPY or "2.7" in session.python:
        local_deps += (DEPS["mock"],)

@theacodes You're right. I even prefer what you did because session.python == "2.7" is superior to "2.7" in session.python. (Or session.python in ("2.7", "2.7-32") for those wild and crazy folks.)

 Glad you like the outcome.
On Sat, Sep 15, 2018, 4:30 PM Danny Hermes<EMAIL_ADDRESS>wrote:

@theacodes https://github.com/theacodes You're right. I even prefer
what you did because session.python == "2.7" is superior to "2.7" in
session.python. (Or session.python in ("2.7", "2.7-32") for those wild
and crazy folks.)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/theacodes/nox/issues/125#issuecomment-421653579, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAPUc-U3f3wRUn9klFxJQxglZqHqNETjks5ubY2AgaJpZM4WOmpn
.


I don't know how to implement "Belongs To"

Summary of problem or feature request
Hello, my problem is this:
I'm having relationships in laravel with eloquent. I tried to use Datatables but I don't know how to do "BelongTo Relations".  Also look for an idea in Relationships
I tried "Model Belongs To Demo" but I have no results. It also returns the error:
"DataTables warning: table id=certificaciones - Requested unknown parameter 'mat_professional_details.n_matriculated' for row 0, column 1. For more information about this error, please see http://datatables.net/tn/4"
Code snippet of problem
In index.blade.php is the JS
<script>
    $(document).ready(function() {
        $('#certificaciones').DataTable({
            "processing": true,
            "serverSide": true,
            "ajax": "{{ url('api/certification') }}",
            //Nuevo campo de "method"
            "method": "GET",
            "columns": [
                {data: 'date'},
                {data: 'mat_professional_details.n_matriculated', name: 'mat_professional_details.n_matriculated'},
                {data: 'customer'},
                {data: 'n_invoice'},
                {data: 'item'},
                {data: 'mod'},
                {data: 'obs'},
                {data: 'btn'},

            ],
            "language": {
                "info": "_TOTAL_ certificaciones",
                "search": "Buscar",
                "paginate": {
                    "next": "Siguiente",
                    "previous": "Anterior",
                },
                "lengthMenu": 'Mostrar <select>' +
                            '<option value="10">10</option>'+
                            '<option value="25">25</option>'+
                            '<option value="50">50</option>'+
                            '<option value="100">100</option>'+
                            '</select> certificaciones',
                "loadingRecords": "Cargando...",
                "processing": "Procesando...",
                "emptyTable": "No hay datos",
                "zeroRecords": "No hay resultados",
                "infoEmpty": " ",
                "infoFiltered": " ",
            }
        });
    });
</script>

In RelationCertificationController.php is the "getBelongsTo"
<?php

namespace App\Http\Controllers;

use App\DocCertification;
use App\MatProfessionalDetail;
use Illuminate\Http\Request;

class RelationCertificationController extends Controller
{
    public function getBelongsTo(Request $request)
    {
        if ($request->ajax()) {
            $query = DocCertification::with('mat_professional_details')->select('doc_certifications.*');

            return $this->dataTable->eloquent($query)->make(true);
        }

        return view('vendor/voyager/certification/index');
    }
}

In api.php
Route::get('/certification', function(){
    return datatables()
    ->eloquent(DocCertification::query())
    ->addColumn('btn', 'vendor/voyager/certification/actions')
    ->rawColumns(['btn'])
    ->toJson();
});

In web.php
Route::get('/certification', 'RelationCertificationController@getBelongsTo');

The "doc_certifications" table is the "DocCertification" model and the "mat_matriculated_details" table is the "mat_professional_details" model

The fields of "doc_certifications" are: "id", "date", "n_matriculated", "customer", "n_invoice", "item", "mod", "obs"

The fields for "mat_professional_details" are: "id", "dni", "matriculated_categories", "n_matriculated", "specialty", "email", "title", "date", "university", "obs"

Also "created_at" and "updated_at" in both tables.

System details

Operating System
PHP: 7.4.3
Laravel: 6.5
Laravel-Datatables Version: 9.0

I think you just to need to make the name mat_professional_details to camel case.
name: 'matProfessionalDetails.n_matriculated'

Hi Yajra, thanks for answering.
I'll change the name of the table. Do you think my codes are correct?
I really doubt that my code is correctly implemented.

It's not the table name. You need to set the name on javascript to actual method name of the relation. Your code looks fine.
// js
{data: 'mat_professional_details.n_matriculated', name: 'matProfessionalDetails.n_matriculated' }

// php
function matProfessionalDetails() {
  return $this->belongsTo(Detail::class);
}

n_matriculated

I've tried to use it as your suggestion but still can't work "Request unknown parameter" @yajra
The query
return $model->newQuery()->with(['jenisPensiun']);
The column
Column::make('jenis_pensiuns.nama')->name('jenisPensiun.nama'),
The model
public function jenisPensiun()
    {
        return $this->belongsTo(\App\Models\JenisPensiun::class);
    }

See demo https://datatables.yajrabox.com/eloquent/relationships for more info.


Add edit case component

Moved the case definition that we get from the /api/cases calls to somewhere common to share it.
This caught a lot of undefined checks that needed to be done as well.

Codecov Report

Merging #354 into master will increase coverage by 1.82%.
The diff coverage is 82.05%.

@@            Coverage Diff             @@
##           master     #354      +/-   ##
==========================================
+ Coverage   64.70%   66.52%   +1.82%
==========================================
  Files          24       25       +1
  Lines         663      717      +54
  Branches      190      223      +33
==========================================
+ Hits          429      477      +48
- Misses        234      240       +6

Impacted Files
Coverage Δ

...urator-service/ui/src/components/LinelistTable.tsx
81.17% <ø> (ø)

...i/src/components/new-case-form-fields/Location.tsx
100.00% <ø> (ø)

...fication/curator-service/ui/src/components/App.tsx
76.19% <25.00%> (-3.48%)
:arrow_down:

.../curator-service/ui/src/components/NewCaseForm.tsx
81.53% <80.35%> (+2.96%)
:arrow_up:

...ion/curator-service/ui/src/components/EditCase.tsx
100.00% <100.00%> (ø)

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 fcf7c92...da5d66f. Read the comment docs.

 Implement "edit case" UI flow structure


feat(frontend): disable buy button if no OnRamper API key is provided [GIX-2854]

Motivation
Just to be on the safe side, we disable the Buy button in case there is no OnRamper API key provided. This could happen only in case there is some inconsistency on the .env file.

I think that maybe a pop over whenever that button is disabled just saying "temporary disabled, contact blah blah", since the user shouldn't be affected by faults in the build process, I think, no? this would happen only if we have not the correct env file when built
P.S. the best would be a pre-check of compulsory ENV variables (for example onramper prod api key, or ehterescan api key, both), before building

I think that maybe a pop over whenever that button is disabled just saying "temporary disabled, contact blah blah",

I personally like to have button "enabled" for those kind of thing, to provide a positive user experience. It's probably an edge case so disabling is good, therefore approving the PR already. Just thought about sharing what crossed my mind.

P.S. the best would be a pre-check of compulsory ENV variables (for example onramper prod api key, or ehterescan api key, both), before building

Yes!


Nested loops without brackets may be not indented

// With CSharpier 23
foreach(var subsequnce in sequance)
    foreach(var item in subsequance)
        item.DoSomething();

// How it might look like
// and how Rider 2023 formats it
foreach(var subsequnce in sequance)
foreach(var item in subsequance)
    item.DoSomething();

// With CSharpier 23
foreach(var subsequnce in sequance)
    foreach(var item in subsequance) {
        item.DoSomething();
        item.DoSomething();
    }

// How it might look like
// and how Rider 2023 formats it
foreach(var subsequnce in sequance)
foreach(var item in subsequance) {
    item.DoSomething();
    item.DoSomething();
}

The same for await foreach, while and for loops;
The second variant removes one indentation level
and look pretty for me.
Also, CSharpier already use the second variant for using statements
and if the same will be done for loops it will be more consistent.
using (var fileStream1 = File.OpenRead("SomeFile"))
using (var fileStream2 = File.OpenRead("OtherFile"))
{
    Console.WriteLine("Hello");
    Console.WriteLine("World");
}

I hadn't seen this before, but it makes sense to me and does keep things consistent with using. I'll want to do a bit of digging into how often each variation shows up before I commit to doing it. But Rider formatting things that way by default makes me think it's more common than I initially though.

I don't think that this is a good idea.
The case with using statments is the outlier and will probably be used less and less in the future because of the realtive new using var = ..

Thinking about this, it makes sense to go with this route.
It's pretty easy to opt out by putting braces around the foreach. Since most IDEs auto add the braces by default, the two loops must be super tightly related for the user to explicitly choose to remove the braces.


Implement refresh token + access token architecture

Refresh token will be long lived (7d) and stored in a secure, httpOnly cookie on the user.
Access token will be short lived (15m) and stored in application state.

Above is generally the most secure way to go about it. Also, using refresh token, you can invalidate any old login sessions (by invalidating the refresh token) using token versioning (explained below). Hence, when user does forgot password the old refresh tokens are actually invalidated.

Explanation of using token versioning to invalidate JWTs (refresh tokens) - courtesy of claude

Token versioning is a technique used to invalidate JSON Web Tokens (JWTs) when a user changes their password or when there's a need to forcefully log out all sessions. Here's an explanation of how it works:

Token Version in Database:

Along with other user data, store a tokenVersion field for each user in your database.
This field is typically an integer that starts at 0 and increments each time you want to invalidate all existing tokens.

JWT Creation:

When creating a JWT for a user, include the current tokenVersion in the token payload.
Example payload:{
  "userId": "123456",
  "tokenVersion": 0,
  "exp":<PHONE_NUMBER>
}

Token Verification:

When verifying a JWT, in addition to checking the signature and expiration:

Extract the userId and tokenVersion from the token payload.
Fetch the current tokenVersion for that user from the database.
Compare the token's version with the database version.
If they don't match, consider the token invalid.

Password Change / Forgot Password:

When a user changes their password or uses the "forgot password" feature:

Increment the tokenVersion in the database for that user.
This makes all existing tokens invalid, as they will have an older version number.

New Token Issuance:

After a password change, issue a new token with the updated tokenVersion.

Here's a simple code example to illustrate the concept:
def verify_token(token):
    payload = decode_jwt(token)  # Assume this function decodes and verifies JWT signature
    user_id = payload['userId']
    token_version = payload['tokenVersion']

    user = get_user_from_database(user_id)  # Fetch user from database

    if user.token_version != token_version:
        raise InvalidTokenError("Token version mismatch")

    # Continue with other verifications (e.g., expiration)

def change_password(user_id, new_password):
    user = get_user_from_database(user_id)
    user.password = hash_password(new_password)
    user.token_version += 1  # Increment token version
    save_user_to_database(user)

    # Issue new token with updated version
    new_token = create_jwt(user_id, user.token_version)
    return new_token

This approach offers several advantages:

It allows for immediate invalidation of all existing tokens when needed.
It doesn't require maintaining a blacklist of invalid tokens.
It's scalable, as you only need to store one additional field per user.

However, it also has some considerations:

It requires a database lookup for every token verification.
It invalidates all tokens for a user, not just a specific one.

Would you like me to elaborate on any specific part of this explanation or provide more details on implementation?

Will work upon it👍


[DC-2282] CR not mapping long to short codes

@hiro-mishima I know you're currently looking at the associated data please chime in if you get a minute


Key error shows internal code frames

Description
In LogBox, when there's a key error from React, the code frame should point to the application code causing the issue, but in 0.73 (and maybe other versions) it points to the react-jsx-runtime:

The fix is to add '/node_modules/react/cjs/react-jsx-runtime.+\\.js', to the config here:
https://github.com/facebook/react-native/blob/main/packages/metro-config/index.js#L15
Really we should probably have all of '/node_modules/react/.+\\.js$', there.
Steps to reproduce

trigger key error
open logbox warning
see wrong code frame

React Native Version
0.73.0
Affected Platforms
Runtime - Android, Runtime - iOS
Output of npx react-native info
No

Stacktrace or Logs
No

Reproducer
No
Screenshots and Videos
Above

Note also that even after adding the ignored frame, the codeframe points to the wrong line for me (seems like a symbolication issue). This may be specific to my setup somehow, so when fixing this, please test and confirm that the codeframe in a new template project does point to the correct application line:

We should return code previews for all frames because it's not possible to ensure the last frame is also accurate. Also the broken %s%s formatting seems not great.

@robhogan @huntie @motiz88 is this something that you folks can take a stab at?

@EvanBacon why isn't it possible? Do you have an example where it's not possible to determine the correct caller?


[Bug]: Secure Appsmith CRUD operation page

Is there an existing issue for this?

[X] I have searched the existing issues

Description
I have created a CRUD operation page for my application. Then I have embedded the page in one of my website by using the iframe embed option. This CRUD page accessing one of my table in the database and all the Create, Delete, Update operation can be done by using this page.
So in order to make the page to embed on the website, I have to make the page as public.
Then the issue will arise that,  This page can be opened by any one with the app page URL. So my database table is exposed to public. any can modify the DB entries.
So What are the measures to do to make the CRUD page from the unauthorised access ?
Steps To Reproduce

Create CRUD page.
Make the page as public.
Embed the page URL in any of the our website template.
It will show the CRUD page in the website.
Then copy the URL of the CRUD app and open in the private window. It can be accessed by anyone.

Public Sample App
No response
Issue video log
No response
Version
1.7.9

@junaidtk, we are working on private embedded apps. The feature will be available with our business plan.


Get dimensions also for SVG images

Ticket: #
Issue

Load image dimensions also for SVG files.
Solution

Modify Timber\Image\get_dimensions() function and add new private function svgs_get_dimensions() to retrieve dimensions. from svg file.
Impact

Shouldn't touch performance or backward compatibility, just a new feature.
Usage Changes
No usage changes accept that getting image.width and image.height will work for SVGs without a need to write own wrapper for it (thanks to @palmiak for helping hand!).
Testing

I'm not sure how to run your test suite :( but if you'll point me the right way, I could write one.
Otherwise:

all tests related to getting png/jpg width & height should pass
test the same with an SVG with height and width parameters only
test the same with an SVG with view box parameter only

Thanks @vyskoczilova you nailed this on the first try. The test suite is a bit of a beast to get running locally:
https://timber.github.io/docs/guides/testing/
Here's the test I added which quickly confirmed your work:
 	function testSVGDimensions() {
		$pid = $this->factory->post->create();
		$filename = self::copyTestImage( 'icon-twitter.svg' );
		$attachment = array( 'post_title' => 'Twitter Icon', 'post_content' => '' );
		$iid = wp_insert_attachment( $attachment, $filename, $pid );
		$image = new TimberImage( $iid );
		$this->assertEquals( 23, $image->width() );
		$this->assertEquals( 20, $image->height() );
	}

@jarednova My pleasure :) It was thanks to @palmiak but glad that it helps. Yeah, that's true with tests
Regarding the test - yeah, it's still a bit complicated for me to make them up and running together with WP. Thanks for doing that. However, I would test with two images:

SVG with viewbox
SVG with width & height

:)


Explore tab interactions

Description
The main purpose of this pull request is to enhance the interactions on the ExploreTabView container, and any subsequent components inside.
Test Plan
N/A
Motivation and Context
The interactions and touch events aren't the smoothest or most responsive, so this PR aims to improve some of these performance drop-offs.
How Has This Been Tested?
I've manually tested all the touch events on the component to ensure everything is operating as it was before.
Types of Changes

Documentation
Bug fix
[x] New feature
Breaking change

Checklist

[x] My code follows the code style of this project

 Explore tab view interactions


Contini update kubecon ad

Hey Alex - can you open a new PR with this? Somehow we are getting a conflict...

Hey Alex - can you open a new PR with this? Somehow we are getting a conflict...


Create Decentralized Forum RFP

Hello there, here's my proposal for review. I'll be happy to add anything that may miss from the current proposal if it's needed.

Hello! Thank you very much for your RFP!
A quick observation, the scope of work section is more about the technology requirements for the implementation. The info you have added there at the moment corresponds to "Evaluation Metrics and Criteria"
For more info on the different sections, please take a look at this article
Also, for an RFP, it is not necessary to include the budget, that will be assigned once your RFP becomes a proposal.
Thanks again!

Hello! Thank you very much for your corrections! One last thing, for workflow reasons, the initial proposal should be called RFP, could you please rename this to Create Decentralized Forum RFP?
Thank you! Your proposal will now be available in the RFP summary.

Hello, I just renamed it, please let me know if anything else is needed. Thank you for your support.

Answers to the questions above:

There will be a contract system that will work on-site only. All the people on the forum will use it in order to have deals with other members. As they start the contract they will explain in detail what is the contract about and also what are the terms of the deal. Once the deal is done, they will both rate each other customer-vendor. Also, they will have the ability to open a dispute in public and explain what went wrong so other members will deal with caution in case something shady happened with that customer/or vendor.

They will be stored on the server that will host the forum and it will be controlled by the main team but at the same time, the information will be in public for everyone to view it as we will use only Sora Addresses and we will announce what are the official addresses for every group and also for the group sales, paid stickers, and everything.
Just because you might misunderstand. I'll try to explain with an example:

Let's say you want to buy 1 month subscription for a group. Every group's Sora address for the payment will be known in public, everyone can see how many people purchased a sub.
What will be stored in the server, is the buyer's address, so when they visit the forum and connect their Sora-Account, they will have access to the group. This is the ''centralized'' part. We couldn't somehow make it decentralized at this stage, I'm sure that in the future we will find a way to make it more decentralized.
So when I say that the info will be stored in the server I mean the info that says ''This address has access to this group in the forum''.
3)The forum may be completed for testing in 6 months, that is our expectation. We could split it into 3 milestones as you suggested, like a) Create a forum and edit its UI b) Polkadot.js/signing messages implementation c) Fix the bugs and get it done for testing. But from the way we see it, it is better to do multitasking work and build it as is from the scratch than building a forum that works independently and then trying to implement polkadot.js features on it.
4)What I meant is that we will deliver a forum that every section/button will work as it should be and that whatever we proposed (stickers, groups sales, subscriptions, everything will be paid only with XOR, including the 40-50$ worth of XOR per address to prevent spam/bots) will be implemented.

Also, I would like to add that our team would like to propose the RFP in this launch period so we can start working on it. For transparency reasons and just because we want to be clear and honest with the community, in the proposal we will set our XOR payment as RESERVED coins. So, whenever we deliver (hopefully will be done as planned, this summer) the forum as we presented in this RFP, we will create a new proposal to unlock the XOR.

Hello Satoshi, for the sake of order, do you mind answering each question in the reply section? (right under the question) It would be much appreciated and very helpful for following up.
Thank you kindly

Hello Satoshi, for the sake of order, do you mind answering each question in the reply section? (right under the question) It would be much appreciated and very helpful for following up. I have gone ahead and done it, but for further iterations please consider this. Thank you kindly

I replied to the section although to my end it seems like Pending i.e. http://prntscr.com/llUr8Yht2dae

I'd like also to announce that our team will present our idea, our goals, and a demo of the website through a video before the next launch period so we can propose it in public.

We have updated the RFP, added some info and changed the milestones. Please let us know what are your questions.


MARP-255 Missing Portal version 8 Cannot download from market

Missing Portal version 8.x - Cannot see to download from market

hi @alexsuter
Thanks for your feedback.
I handled your feedback. Could you help me review the code again?


Google Cloud CPU Platform issues.

Bug
Environment

Platform: google-cloud
OS:  N/A
Release: latest?
Terraform and plugins

Terraform v0.11.13
+ provider.ct v0.3.1
+ provider.google v2.2.0
+ provider.local v1.2.0
+ provider.null v1.0.0
+ provider.template v1.0.0
+ provider.tls v1.2.0

Problem
Terraform complains about cpu platform not being available in a particlar region. Intel Haswell patform is not avalable in any of the newer regions such as europe-west2/6 . Haswell is available in europe-west1 which is OK but is there any reason why Container Linux can't run on newer platforms?
Terraform output
Error: Error applying plan:

3 error(s) occurred:

* module.google-cloud-yavin.google_compute_instance.controllers[2]: 1 error(s) occurred:

* google_compute_instance.controllers.2: Error creating instance: googleapi: Error 400: Invalid value for field 'resource.minCpuPlatform': 'Intel Haswell'. CPU platform unavailable in requested zone. Valid options for this zone are: Intel Skylake, Intel Broadwell., invalid
* module.google-cloud-yavin.google_compute_instance.controllers[1]: 1 error(s) occurred:

* google_compute_instance.controllers.1: Error creating instance: googleapi: Error 400: Invalid value for field 'resource.minCpuPlatform': 'Intel Haswell'. CPU platform unavailable in requested zone. Valid options for this zone are: Intel Skylake, Intel Broadwell., invalid
* module.google-cloud-yavin.google_compute_instance.controllers[0]: 1 error(s) occurred:

* google_compute_instance.controllers.0: Error creating instance: googleapi: Error 400: Invalid value for field 'resource.minCpuPlatform': 'Intel Haswell'. CPU platform unavailable in requested zone. Valid options for this zone are: Intel Skylake, Intel Broadwell., invalid

Terraform does not automatically rollback in the face of errors.
Instead, your Terraform state file has been partially updated with
any resources that successfully completed. Please address the error
above and apply again to incrementally change your infrastructure.

Typhoon GCP defines the minimum CPU platform as Haswell via #405. Meaning avoid Sandy/Ivy bridge, but allow Haswell or newer like Broadwell, Skylake, etc.
This sounds like a bug in terraform-provider-google and logic for comparing newer/older CPU platforms.

Ugh. No issue in terraform-provider-google or compute/v1 client. I think the backend Google Cloud API actually implements SetMinCpuPlatform to mean "use exactly that version or error". Rather misleading going by Terraform or API comments.

Compute Engine always uses the minimum CPU platform where available.

I found this mention here. No behavior is specified for what happens when its not available, but apparently it errors out.
Its also reproducible with gcloud.
gcloud compute instances create example-instance2 --zone europe-west2-b --min-cpu-platform "Intel Haswell"
ERROR: (gcloud.compute.instances.create) Could not fetch resource:
 - Invalid value for field 'resource.minCpuPlatform': 'Intel Haswell'. CPU platform unavailable in requested zone. Valid options for this zone are: Intel Skylake, Intel Broadwell.

Sadness. min_cpu_platform looks rather pointless now.

This would explain why setting min_cpu_platform did legitimately ensure Sandy/Ivy Bridge were skipped in other regions when this was verified, since Haswell was available.

Fixed by 46196af5009fb2abef89a979248cb4bd55c6b941, which you may use as the ref in your module source.


problem with batch

Hello,
I use OrientDB 2.1.3 and pyorient 1.4.9. I have a problem with “batch” function - it throws an exception. Googling told me that pyorient might not work well with commands containing apostrophes, however it was also mentioned that this has been fixed in version 1.2.
Here is traceback:
Traceback (most recent call last):
  File "tstor.py", line 41, in <module>
    res  = client.batch(cmd1)
  File "/usr/local/projects/venvs/gns_rpc_env/local/lib/python2.7/site-packages/pyorient/orient.py", line 415, in batch
    .prepare(( QUERY_SCRIPT, ) + args).send().fetch_response()
  File "/usr/local/projects/venvs/gns_rpc_env/local/lib/python2.7/site-packages/pyorient/messages/commands.py", line 145, in fetch_response
    super( CommandMessage, self ).fetch_response()
  File "/usr/local/projects/venvs/gns_rpc_env/local/lib/python2.7/site-packages/pyorient/messages/base.py", line 256, in fetch_response
    self._decode_all()
  File "/usr/local/projects/venvs/gns_rpc_env/local/lib/python2.7/site-packages/pyorient/messages/base.py", line 240, in _decode_all
    self._decode_header()
  File "/usr/local/projects/venvs/gns_rpc_env/local/lib/python2.7/site-packages/pyorient/messages/base.py", line 192, in _decode_header
    [ exception_message.decode( 'utf8' ) ]
pyorient.exceptions.PyOrientCommandException: com.orientechnologies.orient.core.exception.OSerializationExceptionjava.lang.IllegalArgumentException - Error on unmarshalling content. Class: com.orientechnologies.orient.core.command.script.OCommandScriptNo enum constant com.orientechnologies.orient.core.command.OCommandDistributedReplicateRequest.DISTRIBUTED_EXECUTION_MODE.begin;let acc = insert into Account(login, password) values('111', '123');create edge InGroup from $acc to (select from AccountGroup where name='Users');let usr = insert into User(Firstname, Middlename, Surname, Email) values('oleg', 'abbb', 'zzzzzzz', 'ssssssssss');create edge AccInUsr from $acc to $usr;commit retry 100;

Code snippet:
#-*- coding: utf-8 -*-
import pyorient

DB_HOST = 'localhost'
DB_PORT = 2424
DB_NAME = 'front_db'

DB_USER = 'adm'
DB_PSW = '***'

REQ_USER_SQL = ("begin;"
"let acc = insert into Account(login, password) values('{login}', '{password}');"
"create edge InGroup from $acc to (select from AccountGroup where name='Users');"
"let usr = insert into User(Firstname, Middlename, Surname, Email) values('{Firstname}', '{Middlename}', '{Surname}', '{Email}');"
"create edge AccInUsr from $acc to $usr;"
"commit retry 100;")

usr_dict = {'login': '111',
       'password': '123',
       'Firstname': 'oleg',
       'Middlename': 'abbb',
       'Surname': 'zzzzzzz',
       'Email': 'ssssssssss'
    }

cmd1 = REQ_USER_SQL.format(**usr_dict)

print cmd1

client = pyorient.OrientDB(DB_HOST, DB_PORT)
client.db_open(DB_NAME, DB_USER, DB_PSW)
res = client.batch(cmd1)

print res

I've updated the database to version 2.1.15 and the problem was solved


Show fee to be paid by payer before transaction

          There needs to be some way to show on the front end the calculation of the value (paid amount + fee) before opening MetaMask for approval. As it is, it seems strange to the user, who chooses to pay a certain amount and then another amount appears when they open the wallet

Originally posted by @danicuki in https://github.com/w3b3d3v/kyodo-protocol/issues/188#issuecomment-1826005411

@piadascripto should we show some confirmation modal after the contractor clicks "Pay" or shows the fee dinamically based on his input somewhere in the agreement card? what do you think?

It will open the sidebar with all details
On Mon, 27 Nov 2023 at 16:03 Yan Luiz @.***> wrote:

@piadascripto https://github.com/piadascripto should we show some
confirmation modal after the contractor clicks "Pay" or shows the fee
dinamically based on his input somewhere in the agreement card? what do you
think?
—
Reply to this email directly, view it on GitHub
https://github.com/w3b3d3v/kyodo-protocol/issues/193#issuecomment-1828445742,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFLOXNFORR422TKQJE7BH3YGTPZXAVCNFSM6AAAAAA74QMPLOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMRYGQ2DKNZUGI
.
You are receiving this because you were mentioned.Message ID:
@.***>


Working on QNAP TVS-h1288x

Thank your very much, this script saved me a lot of time and is working great on my TVS-h1288x.
The only downside is that TrueNAS SCALE X doesn't seem to like the described Pre/Post Init Script approach, as it needs to run indefinitely.
[2022/12/12 10:28:07] (DEBUG) middlewared.execute_init_tasks():237 - SCRIPT /mnt/.../lcd-menu.py timed out

When adding the Script in the TrueNAS UI I left the Timeout setting on 0, might try to set it to -1, but probably won't make a difference. Probably best to just write a small wrapper shell script that launches a background task and returns:
nohup ./lcd-menu.py > /dev/null 2>&1 &

Thank you for the compliment and report. I'll have to check this on my system, I don't recall having that problem. But then again, mine has been offline for a few weeks as it's substituting for a different failed QNAP device.


Fixes conntrack deleting wrong connections and cleaning old SNAT rules

The contrack process can be too aggressive, so this introduces additional lookups to ensure only the specified rules are deleted. Additionally an extra process will make sure that when a VIP rule (SNAT) is applied that any existing VIP rules are deleted first.
Hard to check in testing..

Merging this, it's a bit experimental but has been proven in production.


add issusanconcerned flag

This PR adds an issusanconcerned flag to each post, so that it can easily be displayed on the front page. It doesn't do anything fancy with it, but just tries to do the minimal to make it basically usable.
Helpful docs on customizing the theme:

https://jekyllrb.com/docs/themes/#overriding-theme-defaults
https://docs.github.com/en/enterprise/2.14/user/articles/customizing-css-and-html-in-your-jekyll-theme
https://jekyllrb.com/docs/step-by-step/07-assets/

Awesome, thanks!


error on on typing in a tag string

Goto homepage
Login as joe
Type in jquery in the tag dailog box ( serach)
Error is coming on UI .

That's just one if the reasons the tags uber issue isn't  in test. :)


Traffic Router DNS zone calculation optimizations

This PR is not related to any issue. It optimizes the way Traffic Router (TR) calculates the zone(delivery service) of an incoming reuest.

Which Traffic Control components are affected by this PR?

Traffic Router

What is the best way to verify this PR?

Make sure all the tests pass.
Run TR locally and make DNS/ HTTP requests against it. If the request is of the form routing name.DS FQDN, the resultant delivery service should be returned from the new map that was introduced in this PR.
If this is a bugfix, which Traffic Control versions contained the bug?

master

PR submission checklist

[x] This PR has tests
[ ] This PR has documentation
[x] This PR has a CHANGELOG.md entry
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

The TR Ultimate Test Harness is failing for an unrelated reason, it seems to always fail on startup, for any of a number of reasons.

Fixed in #7637

Reverted #7622 in c6fcfea717 due to DNS load tests consistently failing with #7622 but passing with it reverted.
@srijeet0406 Would you please re-PR #7622 now that we have performance test coverage again?


Python-grpc does not work with lasts versions of grpcio

The library does not work with the last version of grpcio (1.18.0)

+1
Error message:
TypeError: Can't instantiate abstract class _OpenTracingServicerContext with abstract methods abort_with_status

Closing as #23 fixed this item.


Additional UI Fixes

House lists now sorted by first name
New table-sort library
Automatic copyright year inserting
Can click anywhere in the link div to open link context menu

TODO still:

SVG logo

Not ready for review yet

Hey, should we merge this in before the SVG?

Yeah we probably should since I'll probably never get around to the SVG until Spring break... I'll make it merge-able this week.

Awesome, thanks Angela!

--
Sent from my iPhone.

Please now look at #80.


[poco] Fixing target EXPAT::EXPAT is not found

Describe the pull request

What does your PR fix?
Fixes https://github.com/microsoft/vcpkg/issues/27658
This issue is a regression from https://github.com/microsoft/vcpkg/pull/27288

Which triplets are supported/not supported?

Yes

Thank you!


Update AD-FS-Requirements.md

changing the supported encryption algorithm section.

Thanks for this contribution - I'm going to ask one of our AD writers to take a look, and then we'll get this merged.


Fix Analytics SwiftPM platform availability.

For some reason this still works in a project, but Xcode gets confused
and doesn't autocomplete the module appropriately. This should fix it
for tvOS and macOS.
Also cleaned up a few references to Analytics only being available on
iOS.

Merging now, the last commit just had a word added to the CHANGELOG.


[BUG] Migrate to fick-based time system

FPS has been a never-ending source of pain so far, and one that we have very little hope of solving as we begin working with more complex video.
Consider migrating our time system to be flick-based https://en.wikipedia.org/wiki/Flick_(time)
Unlike frames, which are relative and depend on the extremely unreliable and confusing concept of FPS (video fps or annotation subsample rate fps??) flicks are an integer absolute unit of time.
This would turn a lot of concepts in time management on their head:

Frames are buckets, not addresses.  A frame has width, and float(timestamp) -> frame conversion is lossy
So resolving keyframes given flick address is harder, because in order to find the right keyframe, you need to find the right bucket, which involves knowing the bucket width, which involves knowing the FPS, so it seems we've come full circle
But we haven't.  By using flick addressing, we free ourselves from fixed-width frames, and (where videos are concerned, because there's absolutely nothing wrong with how we do image annotation right now) the FPS mutability problem is completely solved.

Example
A user wants to annotation at 15 FPS, but the video has a natural framerate of 29.94 (a very common framerate that we pretend is 30 and hope for the best) and kwiver pipelines execute at 5hz.
What we do right now: Ignore the problem and hope it goes away.
What we could do: support it properly and accurately in a conceptually simple way.
By moving from persisting frames to persisting flicks, we totally remove the reliance on framerate to give meaning to our json.  If the user wants to drop to 3hz, they simply have old keyframes at a higher density that are their responsibility to
If we use flicks, FPS has a totally different meaning.  It simply tells the client how far to move when a user skips forward or backward 1 unit.
This is a problem.  We don't have buckets anymore, so we don't know if there's a feature for the precise location the user lands on.  the video element reports that this is timestamp 33.314349 seconds (some float precision).
Before, we'd find the frame by Math.round(time / fps), then perform an O(1) lookup on a sparse array.
We can actually still do this, converting flicks to frames on page load.
I think a good first step would be to run them side-by-side, emitting { flick: number; frame: number; } as the new time object and having both flick and frame in the feature schema.

Changing FPS after detections have already been created would then be possible

If you move to a higher FPS, everything just moves further apart and the keyframes spread out.  If they have interpolation on, you get exactly what you had before.  If you have interpolation off, tracks become spotty.
If you move to a lower FPS, this is effectively a downsample of existing annotations.  There would need to be some warning that lowering FPS in the annotator can cause data loss.  Then there's the problem of which keyframe to pick to represent a frame if you end up with keyframes merging (such as if you cut FPS in half and now every frame has 2 possible annotations).

This seems like such a major improvement over the current time system that the problem above is a non-issue.

Changing FPS after detections have already been created would then be possible

If you move to a higher FPS, everything just moves further apart and the keyframes spread out.  If they have interpolation on, you get exactly what you had before.  If you have interpolation off, tracks become spotty.
If you move to a lower FPS, this is effectively a downsample of existing annotations.  There would need to be some warning that lowering FPS in the annotator can cause data loss.  Then there's the problem of which keyframe to pick to represent a frame if you end up with keyframes merging (such as if you cut FPS in half and now every frame has 2 possible annotations).

This seems like such a major improvement over the current time system that the problem above is a non-issue.

Historical note
There's no good reason we use frames.  It's a choice I made carried over from videothing where I got tired of passing around FPS and a float value all the time.  A single int was easier to work with, even if it was a forgery.
Actual proposal

I don't think it's a good idea at this point to launch into a total rewrite of the time system.
It's really tempting to think about being able to change the FPS of a dataset live and watch your timeline immediately adjust / frames get wider/narrower, but we aren't ready for that yet.

What we should do instead:

Maybe let's try the simpler option: add flick as a new property on Feature, providing an absolute point-in-time that each detection was created at.  This will allow us to precisely generate timestamps during CSV export (instead of the forgery we do now) and it will also allow us to change FPS by re-deriving frame number for each feature from the new FPS value and flick.  FPS mutations will have to happen outside of the viewer (or at minimum cause the viewer to refresh) but this seems like a sane first step we can build on.

This has the sorta-nice benefit of allowing us to generate CSVs at multiple framerates.  We can annotate at 10hz, generate a 5hz training input CSV, and still maintain our original, precise annotations.

I feel pretty good about this proposal, and it's the smallest change I can think of.  If we decide to start leaning into the flick time system in other places, that's OK.  We may eventually phase out frames, but this will allow us some future robustness in the face of uncertainty.

Historical note
There's no good reason we use frames.  It's a choice I made carried over from videothing where I got tired of passing around FPS and a float value all the time.  A single int was easier to work with, even if it was a forgery.
Actual proposal

I don't think it's a good idea at this point to launch into a total rewrite of the time system.
It's really tempting to think about being able to change the FPS of a dataset live and watch your timeline immediately adjust / frames get wider/narrower, but we aren't ready for that yet.

What we should do instead:

Maybe let's try the simpler option: add flick as a new property on Feature, providing an absolute point-in-time that each detection was created at.  This will allow us to precisely generate timestamps during CSV export (instead of the forgery we do now) and it will also allow us to change FPS by re-deriving frame number for each feature from the new FPS value and flick.  FPS mutations will have to happen outside of the viewer (or at minimum cause the viewer to refresh) but this seems like a sane first step we can build on.

This has the sorta-nice benefit of allowing us to generate CSVs at multiple framerates.  We can annotate at 10hz, generate a 5hz training input CSV, and still maintain our original, precise annotations.

I feel pretty good about this proposal, and it's the smallest change I can think of.  If we decide to start leaning into the flick time system in other places, that's OK.  We may eventually phase out frames, but this will allow us some future robustness in the face of uncertainty.


Support Prawn PDF output

We are implementing QRBills into a rails application that uses Prawn for generating PDFs.
Right now, for us to be able to use this gem without any modification means we have to output the bill to HTML, then convert it using IMGKit etc into a PNG image (for the whole bill slip) before placing the image into our Prawn output.
What we want is the entire bill slip (not just the qr_code) to output in a format supported by Prawn (e.g. png). We really want to avoid having to manually design the entire bill slip by hand incase the design standards change in the future.

@damoiser hi hi - I am also trying to implement your QRBills with Prawn PDF. I am just a beginner - at the moment I manage to get the SVG string. Could you please explain me how to get directly an image for Prawn PDF?


stricter threshold for lock

Lock (https://github.com/mesosphere/etcd-mesos/blob/master/scheduler/scheduler.go#L342) should only occur if a previous node (cluster?) was able to instantiate first, otherwise it's needlessly becoming unavailable.

Care to review this, @spacejam, and update if necessary?


State the encryption algorithms in the README

I understand keeping the UI clean, but the encryption even though you didn’t write the algorithm you choose the implementation details. AES and keysize with PKCS padding options should be explained in the README because THESE ARE implementation details important to users.
You’re documenting the html very clearly but I would like to see it outside of the code.

I agree, the README should explain the encryption scheme.

Added a detailed description of encryption & decryption to readme in https://github.com/mprimi/portable-secret/pull/39


Add Enzyme testing-framework for JavaScript

@duyenle1312 Hi Duyen, added Enzyme testing framework for JS.
Please kindly approve the PR.
Thanks

PR needs to be merged to be considered for Hacktobefest, just fyi


identify cross account policies on resources

[ ] s3
[ ] sns
[ ] sqs
[ ] lambda
[ ] ecr
[ ] iam trust docs
[ ] glacier
[ ] kms
[ ] ami (non-iam)
[ ] ebs snapshot (non-iam)
[ ] cloudwatch logs to kinesis

Looks like this is going to need an iam policy parser to verify access of non white listed accounts.

a basic iam policy parser wasn't to bad to knock out, but there's dragon's under the surface, still need to cover the notprincipal/notaction at min. For future ref
http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html
and
http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html

wip in #227


[FEAT] Global Network Status Notification

:bulb: Feature request
Feature Name

Global Network Status Notification
The Desired Behavior

I want a debounced effect to track the network status of the browser and notify apps when it changes with:

an action
an observable stream in a singleton

Your Use Case

As a user, I want to be notified when I go offline or online.
Prior Work

https://developer.mozilla.org/en-US/docs/Web/API/Window/offline_event

Blocked by #2015


Look into resolving more near-matches in title validation

Look through existing tasks for cases that should match: https://tracker.data.humancellatlas.org/tasks?filter=[{"categoryKey"%3A"description"%2C"value"%3A["Update+project+title+to+match+publication+title."]}]

Pairs of titles that we may want to consider to be the same:
Single-cell transcriptomics reveals cell-type-specific diversification in human heart failure
Single Cell Transcriptomics Reveals Cell Type Specific Diversification in Human Heart Failure
Fails because punctuation is removed entirely for comparison, so here for example "singlecell" is compared to "single cell"
Pathogen-induced tissue-resident memory T H 17 (T RM 17) cells amplify autoimmune kidney disease
Pathogen-induced tissue-resident memory TH17 (TRM17) cells amplify autoimmune kidney disease
Probably can't be resolved without ignoring whitespace entirely ("T H 17" vs "TH17")
Single-cell RNA sequencing identifies celltype-specific cis-eQTLs and co-expression QTLs
Single-cell RNA sequencing identifies cell type-specific cis-eQTLs and co-expression QTLs
Also just a whitespace thing ("celltype" vs "cell-type")
Local and systemic responses to SARS-CoV-2 infection in children and adults
The local and systemic response to SARS-CoV-2 infection in children and adults
Very similar but one has an extra word so not sure if we'd even actually want to consider them the same
Single-cell RNA-seq reveals ectopic and aberrant lung-resident cell populations in idiopathic pulmonary fibrosis
Single Cell RNA-seq reveals ectopic and aberrant lung resident cell populations in Idiopathic Pulmonary Fibrosis
Again, the issue with hyphens being ignored entirely
Single-cell RNA sequencing reveals profibrotic roles of distinct epithelial and mesenchymal lineages in pulmonary fibrosis
Single-cell RNA-sequencing reveals profibrotic roles of distinct epithelial and mesenchymal lineages in pulmonary fibrosis
Also hyphens
The single-cell transcriptomic landscape of early human diabetic nephropathy
The Single Cell Transcriptomic Landscape of Early Human Diabetic Nephropathy
Hyphens
Spatial proteogenomics reveals distinct and evolutionarily conserved hepatic macrophage niches
Spatial proteogenomics reveals distinct and evolutionarily-conserved hepatic macrophage niches
Hyphens
A single-cell atlas of human teeth
A single cell atlas of human teeth
Hyphens

Other than the questionable extra-word one the only two types of problems here are differences in use of spaces and hyphen vs space; both of these could be resolved by completely ignoring whitespace in the comparison, though of course that could theoretically lead to different sequences of words being considered the same
If we just wanted to solve the hyphen one..... well it would be possible of course to allow punctuation to match both spaces and absences of characters but I'm not sure what the simplest way would be

We will leave the current match as is. Closing!


[Feature Request] Event for when player position data is transmitted

Along with it, allow us to change if ghost mode is on/off before the data is transmitted.
Why is this a good idea? Because it allows for custom anti-cheat systems and hiding of players for other players when it is needed (example: 096 can only see who looked at him)

https://github.com/Cyanox62/TargetedGhostmode - Found what I was looking for.


[Feature]: Implement Outscale machine infrastructure controller unit test for nic

Explain problem to solve
Add unit test for nic CRD
Describe the solution you would like
Add unit test for each method/func for nic CRD in machine controller
Additional context
None
Environment
- Kubernetes version: (use `kubectl version`): v1.22.5-rancher1-1
- OS (e.g. from `/etc/os-release`): CentOS Linux 7 (Core)
- Kernel (e.g. `uname -a`): 3.10.0-1160.15.2.el7.x86_64
- cluster-api-provider-outscale version: v1.1.3
- cluster-api version: current
- Install tools: calico, ingress-nginx, osc-ccm
- Kubernetes Distribution: rke
- Kubernetes Diestribution version: v1.3.4

won't do because it is already included in vm.


Provide scripts for input conversion

So far the input data needs to be in a specific matrix format (see data/demo) in order to be compatible with PhyloProfile.
Most people will not have their data ready in this format. In order to make it easier it would be cool if there was a way to automate the data preprocessing, either by including the corresponding conversion inside PhyloProfile or by providing a script that takes long format data and converts them into the appropriate matrices.

[x] decide whether to provide external conversion or do it inside PhyloProfile
[ ] implement the preferred solution :wink:

done (hopefully) :)
I also put a demo input file in long format into demo/ folder.
The order of the header, however, has to be exactly: , , , ,
The first 2 column names (geneID and ncbiID) cannot be changed.
The tool will automatically pickup the last 2 column names and assign to variable names (of cause, users can change it afterward if they want) :)

That's awesome, great work! 🎉 🎈


Use generic C, instead of assembly, for SIKE R2 on OSX

Issue # (if available): N/A
Description of changes: Forces mac builds to use the generic C code for SIKE round 2, since the assembly is not compatible.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request head (asmfix@787f64d). Click here to learn what that means.
The diff coverage is n/a.


Increase CODE number in release build with the new Android App Bundle

https://developer.android.com/guide/app-bundle/

I think it only needs to add this:
runTasks.contains("bundle") ||

Still not working...

@jrcacd, if you want it, try to find a way, since you are using the bundle :-)

Still not increasing the code.
I found that the project.gradle.taskGraph.afterTask does not contain anyting in bundle release.

@jrcacd, use saveOn  to save it.

Even if I indicate any task name in  saveOn <task-name> the new code number will not get saved to file because project.gradle.taskGraph is empty


Set up views and layouts directory, imported handlebars, and created …

Completed basic setup for handlebars directory.

Looks good to me


Checks the DEM if it has projected coordinate system

Checks the DEM if it has projected coordinate system if not it raises an error when running Geogrid.py or GeogridOptical.py
Possibly address the request made by @alex-s-gardner (https://github.com/nasa-jpl/autoRIFT/issues/48)

You're welcome @alex-s-gardner :)


Migrating: Catscript

Migration Checklist
Project Submission Issue: https://github.com/typelevel/governance/issues/149
For Organization Projects:

[x] Create a team for the repo with maintainer as team member
[ ] After repo transfer, add repo with write permissions to the created team

For All Projects:

[ ] Add project to the site by adding an entry to the projects.yml file

Announcements
These steps are optional but encouraged.

[ ] Write a blog post announcing the change
[ ] Post to our social channels (Mastodon)

Thanks @valencik. I offer myself as a maintainer, and I'll ask you to create an empty repo, so that we can carefully cherry pick the content to transfer.
Once done I'll also take care to add it to the site, and prompt for the blog post.

@TonioGela sorry for the delay! I just created the repo + team, and added you as a maintainer. Let me know if I should add anyone else to the team as well
https://github.com/typelevel/catscript

Thanks @samspills. I'll let you know soon ;)


Some images tagged with linux/arm64 arch actually contain linux/amd64 builds

Running some sbtscala/scala-sbt images based on upstream Java8 or Java11 fails under aarch64 as follows:
ubuntu@ip-172-31-18-238:~$ uname -m
aarch64
ubuntu@ip-172-31-18-238:~$ docker manifest inspect sbtscala/scala-sbt:graalvm-ce-21.2.0-java8_1.8.0_2.12.17
{
   "schemaVersion": 2,
   "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
   "manifests": [
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 2835,
         "digest": "sha256:5830ea12b7fab65e1b59ed2de65ebc49cc178cbdf2a2c9df8d5bc28c745281ae",
         "platform": {
            "architecture": "amd64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 2835,
         "digest": "sha256:bb5fede2ab7269231d4bd43464054b2be17ef9249778cd6a207d0c50c08b7e25",
         "platform": {
            "architecture": "arm64",
            "os": "linux"
         }
      }
   ]
}
ubuntu@ip-172-31-18-238:~$ docker run -it sbtscala/scala-sbt:graalvm-ce-21.2.0-java8_1.8.0_2.12.17 /bin/bash
exec /bin/bash: exec format error

The same command succeeds under x86_64:
ubuntu@ip-172-31-47-214:~$ uname -m
x86_64
ubuntu@ip-172-31-47-214:~$ docker run -it sbtscala/scala-sbt:graalvm-ce-21.2.0-java8_1.8.0_2.12.17 /bin/bash
bash-4.4#

This is occurring because CI in this repo specifies the baseImageTag as the upstream ghcr.io/graalvm/graalvm-ce container repository. However, this upstream repo does not provide linux/arm64 builds for the Java8 and Java11 base images used in the Dockerfile here. Compare the output for the following tags, only Java17 returns an actual multiarch manifest:

java8-21.2.0 (upstream single arch manifest)
java11-21.3.0 (upstream single arch manifest)
java17-21.3.0 (upstream multiarch)

docker-protobuf on  feat/scala [!] ❯ docker manifest inspect ghcr.io/graalvm/graalvm-ce:java8-21.2.0
{
        "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
        "schemaVersion": 2,
        "config": {
                "mediaType": "application/vnd.docker.container.image.v1+json",
                "digest": "sha256:b6b7306e93599a008905837de57727f173089c1bcdf921b205a176923e336365",
                "size": 4835
        },
        "layers": [
                {
                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                        "digest": "sha256:1da50e1664e1b58d93182fe5af093c642668ec93f67fcd8215b9c1979930b84d",
                        "size": 42178827
                },
                {
                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                        "digest": "sha256:60181773193d5f43c673f020d3e462523267ff1ced388a64d53e264aa02d2894",
                        "size": 113567674
                },
                {
                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                        "digest": "sha256:1ed478fbf2d5dcb061baa77a06c80c20afe132e65a5ce58015ca8548fdc89820",
                        "size": 1406
                },
                {
                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                        "digest": "sha256:d0be10971ce1d959ad3bd39a2cc5e0b9e1e2e9f4c2c62d1bd3bc5e7a044df4f7",
                        "size": 562
                },
                {
                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                        "digest": "sha256:2d574c1e25083654dba1ed6b2ebb2b509e92be2960a33ce54d680e14845e80ea",
                        "size": 299154725
                }
        ]
}
docker-protobuf on  feat/scala [!] took 2s ❯ docker manifest inspect ghcr.io/graalvm/graalvm-ce:java11-21.3.0
{
        "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
        "schemaVersion": 2,
        "config": {
                "mediaType": "application/vnd.docker.container.image.v1+json",
                "digest": "sha256:9c09d46390b65b4cf89c887f3d0ed901d6f2ace9ff4b48b92696fe9ba9a0d71e",
                "size": 4840
        },
        "layers": [
                {
                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                        "digest": "sha256:58c4eaffce77ac1fb013bf82c91927c631802ad54465ebc9b687b5dc8ee73c02",
                        "size": 41961111
                },
                {
                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                        "digest": "sha256:ffb226b40205bd44e5974716ee2d01cad523fab8ba34fba366e9d4b2436c177b",
                        "size": 114316989
                },
                {
                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                        "digest": "sha256:05f16e1f6df1141244dc840c478a490ebfc0760ed7707b9a25bcb1f60a8a6b0a",
                        "size": 1412
                },
                {
                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                        "digest": "sha256:69b5e9a658d59404f6878f0cceee5ef4ee8c69ebad90fc5f150fe1e4075f4e77",
                        "size": 557
                },
                {
                        "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                        "digest": "sha256:1614f6f1cf15325afb47f4b43c21ac1bba368ce8b15db5970e89d112b1062976",
                        "size": 410399609
                }
        ]
}
docker-protobuf on  feat/scala [!] took 2s ❯ docker manifest inspect ghcr.io/graalvm/graalvm-ce:java17-21.3.0
{
   "schemaVersion": 2,
   "mediaType": "application/vnd.docker.distribution.manifest.list.v2+json",
   "manifests": [
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 1370,
         "digest": "sha256:d3877ce3bae9538032f02d88fb5ea5019d5686a15dd15615fb4e9c65970c72cc",
         "platform": {
            "architecture": "arm64",
            "os": "linux"
         }
      },
      {
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 1370,
         "digest": "sha256:0e93350c4c5e1797fd02a34c2dd373e8783fc500b08a06f4082c57503779e3d4",
         "platform": {
            "architecture": "amd64",
            "os": "linux"
         }
      }
   ]
}

The result is that the linux/arm64 tag is being coerced onto a container built for linux/amd64 arch. This can also be seen in the identical size of the images being published, for example (note the size of both images):

This problem does not appear in the test action step, because only the linux/amd64 image is tested.
I'm not sure if the solution here is to ask upstream to publish linux/arm64 images for you to depend on, or to remove support from your build system. I'm also not sure if other base images are affected, I only looked at GraalVM with 3 different Java versions. Took me a while to track this down, so I thought I'd raise an issue to ask :smile_cat:

Thanks for your detailed report, looking into this

I guess the main issue is https://github.com/docker/buildx/issues/844 where buildx should fail instead of using the wrong image

@strophy I leave it up to you to notify upstream if you need those images

Thanks for the quick response! It looks like they are discussing breaking backwards compatibility in Docker and making this sort of build finally throw an error. Worth it in this case, imo - Docker shouldn't be happily pushing images for the wrong arch like this.
I'll try to find another solution for building Scala on ARM after discussing with devs.


Update to Python3

Since python2 will be sunset. Any idea on how to update it to python3?

interested too

Hi, I'm one of the maintainers of this repo. We have temporarily forked and kept the updated variant of this repo in https://github.com/guangie88/airflow-pipeline, which is basically under my personal name.
In the above repo, you will definitely find Python 3 (only) supported tag variants, and the matrix build of the versions available is actually here: https://github.com/guangie88/airflow-pipeline/blob/master/templates/vars.yml
Unfortunately, we have already moved on from the very old Spark 2.1, and the lowest version tested build Spark version is 2.4.z. While it is possible to customize and try to build for Spark 2.1, it is not tested at all and has some chance of not working. So recommendation is to go with Spark 2.4.z. It would also be interesting to note that this new variant has support for Kubernetes scheduler for Spark cluster.
You may find all the pre-built images here: https://hub.docker.com/repository/docker/guangie88/airflow-pipeline/tags?page=1&name=v7_1.10
Hope the above info is useful for you guys, especially if your environment isn't too picky about which component version variants to use.

The reason why the variant wasn't merged back into the official repo here is because the direction taken has been shifted to a wide build matrix instead of a specific build, and the direction hasn't been approved with full consensus in the team yet.


Thumbnail previews not showing for image uploads

Going to close this as it doesn't appear to be an issue on the staging app. It may instead be due to an issue with my local config.


add a flag to login to open the browser automatically

This also adds a new dependency on github.com/skratchdot/open-golang/open, not sure what the process is for adding that to the vendor deps in the main repo.

This looks great, thanks!
Closing #190 along the way as it had the same goal.


[VL] All VeloxMemoryPools should be shrinkable through Spark's spill calls

Description
So far we only adopt Velox reclaim/shrink APIs to plan execution pools.
We should extend the usage to all Velox pools using a common path.

Fixed by https://github.com/oap-project/gluten/pull/3014


Allow blank report panel header

Describe the bug
When the Report panel header text box is blank the word Reporter appears in the panel.
Expected Behavior
When the text box is blank I would expect no text appears in the panel.
Reproduction Steps & Sample

Go to this URL - https://localdeployment.maps.arcgis.com/apps/configure-template/index.html?appid=b34f0d437b1142fab995176220e21462
Click the Reporter tab.
Click Panel Options.
The Report panel header is blank, but the panel header has the word Reporter on it.

Other Relevant Info
No response

@HeatherEisan It uses the fallback text when the field value is left blank. Is there a reason behind allowing it to be blank?

I don't think it should be required to have a panel header. Might not be the best comparison, but headers are optional in ArcGIS Dashboards and Experience Builder. It a little unusual that the text displayed in the panel header, isn't visible in the text box.

@HeatherEisan, one thing to note is in the R2 release if you only have one layer configured in the app the app will automatically load to display the list of features for the layer, so the 'Reports' header won't display anymore, it will just display the layer name that you have configured in the web map.

@chris-fox: So there will not be an option to have no header, unless the layer name is blank?

There is not at this time, I have not tested what will happen if you make the layer name blank. We are also using the panel to display the back button, filter and sort buttons. So even with this enhancement we would have to consider where we place these items if the header was blank or if we just have a blank panel.
In your scenario I would just name the layer 'Land Use Cases', this seems pretty intuitive to me as a header for the items listed.


Forward/Backward slash mismatch for external requires on Windows

To reproduce, create two files - /scripts/lib.js & /scripts/index.js, with index.js requiring libs.js
Then run the following from the root directory:
browserify -r ./scripts/lib.js > ./scripts/lib-bundle.js
browserify -x ./scripts/lib.js ./scripts/index.js > ./scripts/index-bundle.js

Then load in a browser:
<script src="/scripts/lib-bundle.js"></script>
<script src="/scripts/index-bundle.js"></script>

...and we get the following error: Uncaught Error: Cannot find module '/scripts\lib.js'.
Inspecting the output files, we see the following files are exporting/requiring the following paths:

platform
version
lib-bundle.js exports
index-bundle.js requires
works

Windows
>=12.0.2
/scripts/lib.js
/scripts\\lib.js
no

Windows
<=12.0.1
/scripts\\lib.js
/scripts\\lib.js
yes

Linux
any
/scripts/lib.js
/scripts/lib.js
yes

Looks like it was caused by this commit: 7f8030563e89116a8a1d53feb8037006dc5c31e3, where we replace backslashes with forward slashes. There are still a number of places where we're not doing this though, I guess we either have to do it everywhere or nowhere.
Next time I get some free time I'll see if I can add some more replace calls in and fix it.

I've set it to replace with forward slashes everywhere, seems to have fixed the problem for me.
See here: https://github.com/ollyhayes/node-browserify/commit/f410765432aef0ea2d34cc4ef91f9524922f8b2a
Not sure if I've solved this in the correct way though.


Multiple Tries made by the postal on the softfail

HI
Please see the screenshot below:

When the soft fail is made but for any reason, the postal keep on retrying to send the message can create a continuous array of messages for the soft fail and keep on retrying after certain internal.
The other server treats this behavior as an attack and blocks the IP and mark the IP in many ways.
What we are requesting is there any setting in the postal of soft fail email in connection with the following:

Not of retries to be made.
2.. Time interval of retry

What I want is to set max 3 retries  with a time interval of 2 minutes after that the message should be marked as a status that it should not be retried
IF there is an extended facility for certain domains then it would be a blessing.  For example, the X no of domains will only be retry 3 times the rest will be 4 time,s and accordingly the time internal.

The maximum delivery attempts can be configured here
https://github.com/postalhq/postal/blob/2595481b266199d8e29347dea2764f2c10202805/config/postal.defaults.yml#L14
The retry interval already increases automatically, I think the code for that is here
https://github.com/postalhq/postal/blob/2595481b266199d8e29347dea2764f2c10202805/app/models/queued_message.rb#L97
There isn't normally a problem with this logic, the exponentially increasing retry interval is usually enough for most temporary problems.
If you click on "Show technical details" you should see why the message is failing.

Many thanks for the great response.
I would just like to know is there a file where we can code the rules for sending the emails related to domains
Such that 100 emails need to be sent in an hour for yahoo and similarly for Gmail.
Plus are there any extensions or plugins to increase the productivity of postal already in the market?
Does the postal support such type of expandablity.

There is no configuration available as you describe.
Postal does not have any extension or plugin capacity. The source code is not concealed from you so any changes you want to make can be made if you want to code them.

Many thanks, @willpower232 one of the best support are provided by you.


Cannot preserve original host header when setting trusted root certificate

Describe the bug
When setting the appgw.ingress.kubernetes.io/appgw-trusted-root-certificate annotation on an ingress resource in AKS, the corresponding backend settings will contain "Override with new host name" set to "Yes". (Defined in code here)
This breaks my current use case:

I have multiple clients each accessing the same backend via different hostnames.
The TLS certificate for communication between the AGW and the backend is signed with an internal CA, but it does include all of the hostnames that clients may be requesting from.

To Reproduce
Create an ingress resource that sets the appgw.ingress.kubernetes.io/appgw-trusted-root-certificate annotation but does not set the appgw.ingress.kubernetes.io/backend-hostname annotation.
Associated Azure Support Ticket
TrackingID#2303040040001140

There is a comment in the code: // To use an HTTP setting with a trusted root certificate, we must either override with a specific domain name or choose "Pick host name from backend target".
When configuring backend settings in the Azure Portal, however, there is no limitation to supply extra trusted root certificates without overriding the host name.

There is a workaround for this which seems obvious now. Don't try to put multiple hosts on the one Ingress resource, just create a different Ingress for each host.

There is a workaround for this which seems obvious now. Don't try to put multiple hosts on the one Ingress resource, just create a different Ingress for each host.

Preserving the host header would be great for when the requests are all sent to a backend that does routing itself. Otherwise, yes, a separate ingress needs to be created for each host for the app gateway in addition to an ingress per host for the backend router (an istio gateway in my case). It would be great to not have to create two ingresses per host!

This is a blocking bug when using wildcards hosts in the ingress.


Refactor navigation

Simplify / refactor navbar component, perhaps a full reimplementation?

Mostly done in #20.


Edit message -> Cancel -> Edit message does not working

Describe the bug
If we cancel message editing and try to make it again - it does not work.
Steps to reproduce

Go to Demo
Type message, click Send
Click on message Arrow down button, click Edit message
Click on X button right to text typing input.
Click on message Arrow down button, click Edit message -> no reaction on it.
Now we can't edit this message

Expected behavior
We should can edit messages twice and more times after click to X button.
Screenshots

Device (please complete the following information)

OS: MacOS Monterey
Browser: Chrome 106.0.5249.119
Package version: Demo

Fixed in https://github.com/antoine92190/vue-advanced-chat/commit/b5737873eaee7bc9f3e81b0d444347b09138a337


updated action page with mobile responsiveness

What type of PR is this?
/kind ui-change
What this PR does / why we need it:
To update the design of action page
Which issue(s) this PR fixes:
Fixes #563

any update on this?


[ocis] Implement Events for "Space disabled/enabled/deleted"

Description
User Stories

As a user I don't want to work on a disabled space accidentally (would result in errors anyway) so that I don't spend time trying to perform failing actions.

As a user I want to instantly see in my client when a space becomes available again (enabled) so that I can resume my work.

As a space manager I want to see in my client when another space manager deletes an already disabled space so that I know I don't have to perform that task myself.

Value
Transparency and guided user interaction.
Acceptance Criteria

let the client know when a space gets disabled
let the client know when a space gets enabled
let the client know when a space gets deleted

Definition of ready

[ ] Everybody needs to understand the value written in the user story
[ ] Acceptance criteria have to be defined
[ ] All dependencies of the user story need to be identified
[ ] Feature should be seen from an end user perspective
[ ] Story has to be estimated
[ ] Story points need to be less than 20

Definition of done

Functional requirements

[ ] Functionality described in the user story works
[ ] Acceptance criteria are fulfilled

Quality

[ ] Code review happened
[ ] CI is green (that includes new and existing automated tests)
[ ] Critical code received unit tests by the developer

Non-functional requirements

[ ] No sonar cloud issues

Configuration changes

[ ] The next branch of the ocis charts is compatible

events are there, but need to be added to the clientlog


Full application pull request

Hello, please review this project.
Included in this pull request:

Fully functional application
Each user session creates a 'book' object with an array of projects
Each 'project' object has properties and an array of To-Do Item Object.
Each Item Object contains basic properties like title, description, dueDate, priority and status.
All data objects are created using Factory Functions organized in specific files (todobook.js, todoproject.js, todoitem.js) inside the ./src folder.
Main Application functions are:  storage (in charge of all storage actions), displaycontroller(in charge of rendering, and listeners generation). These modules and all required methods are created using the module pattern, hosted in specific files (displaycontroller.js, storage.js)
Projects and Item information is saved in the user's local storage.

Changes required ♻
Hello team 🌟
Nice work on this project, but the following changes need to be done before moving on ⬇

[x]  Files not related to the project should not be committed and added to .gitignore (e.g. .DS_Store, node_modules) (screenshot from Pathwright).

After making the required changes please submit a new code review request
Good luck! 🍀

Thanks for the review.
We have now deleted the node_modules folder and confirmed that is included in the .gitignore file.
regards
Carlos


doc/c: fix duplicate ale_c_flawfinder_executable help tag

Fix duplicate ale_c_flawfinder_executable help tag which both of g: prefix.

@w0rp thanks quickly


feat: Refactor filters using oo.

Sometimes FP and ADTs are great, but sometimes the "bring your own
behavior" of OO is great too.
This de-kinds the FilterDefs and instead makes the filters a list
of instances/classes that know how to render themselves.
This removes a lot of the type-inference gunk from FilterDefs where
it was trying to guess what kinds should be supported based on the
type of the filter.
Really we don't care what kind the filter is, as long as it can
handle the given filter value.
It also makes it possible to "bring-your-own-filter", by implementing the Filter interface.
The singleFilter/etc. factory methods don't have any API changes, so this should be a non-breaking changing.

Sometimes FP and ADTs are great, but sometimes the
"bring your own behavior" of OO is great too.

Also full disclaimer that I originally pushed the kind-based approach :-| so mea culpa/etc. :-)


Update to contribution guide - make converter and examples must have for release

Discussion started here -> https://youtu.be/WW5sLVHa0b8?t=474
tl;dr currently guide says that for the release we also need:
- Compliant implementation in the AsyncAPI JS Parser and the AsyncAPI JSON Schema

I want to suggest we extend it with:
- Compliant implementation in the AsyncAPI JS Parser, the AsyncAPI JSON Schema and the AsyncAPI Converter
- Examples converted to latest version

Why converter

we anyway always make converter ready for the release as later we use it in the Studio to enable people to convert quickly to latest
for minor releases conversion in huge majority of cases is just asyncapi value change, as in the end minors are non breaking, not much to convert (@magicmatatjahu please correct me if I'm wrong)
@jonaslagoni already provided a PR with a script in the spec repo to use converter to convert examples to latest. If we make converter must have, releasing and examples conversion will be easy process

Why examples

be consistent, in master we keep latest only. But now we keep latest spec, but examples are from older versions
if somebody want examples from older versions, we just need to make sure readme have links to old tags, that is it

What could possibly go wrong. In theory we are not really slowing down the release process.
Thoughts?

With the examples I agree because there were problems with the release of 2.4.0 or 2.5.0 (I don't remember) that they were not updated.

for minor releases conversion in huge majority of cases is just asyncapi value change, as in the end minors are non breaking, not much to convert (@magicmatatjahu please correct me if I'm wrong)

Yes, for minor versions converter only bumps asyncapi version.

@jonaslagoni already provided a PR with a script in the spec repo to use converter to convert examples to latest. If we make converter must have, releasing and examples conversion will be easy process

I suggest to write examples with 3.0.0 version from scratch because converter some things, which doesn't know, like ids for channels or operations, generates automatically and their ids are not good looking - another "problems" are described there https://github.com/asyncapi/converter-js#conversion-2xx-to-3xx The converter is ok but the examples should be "nice" for new users.

I want to suggest we extend it with:

Compliant implementation in the AsyncAPI JS Parser, the AsyncAPI JSON Schema and the AsyncAPI Converter
Examples converted to latest version

I agree 👍
As a side note, I think we have to enforce that any repository that is required to update on spec releases, MUST have the same codeowners (or at least the very minimum spec owners), so we ensure that there is never a conflict of interest.

I suggest to write examples with 3.0.0 version from scratch because converter some things, which doesn't know, like ids for channels or operations, generates automatically and their ids are not good looking - another "problems" are described there https://github.com/asyncapi/converter-js#conversion-2xx-to-3xx The converter is ok but the examples should be "nice" for new users.

@magicmatatjahu I disagree entirely with manually updating existing examples from scratch 😆
If the converter out of the box does not help with this problem, then it's missing some serious love. It's the whole reason we have the library 😆 I get there are scenarios it cannot handle and there it's completely fine to manually change the examples after conversion, but the majority should be automated 😄

I want to suggest we extend it with:
- Compliant implementation in the AsyncAPI JS Parser, the AsyncAPI JSON Schema and the AsyncAPI Converter
- Examples converted to latest version

I agree and I would go further and include Parser-API, if any change is needed. Important to include it in whenever place we mention the Parser-JS.

If the converter out of the box does not help with this problem, then it's missing some serious love. It's the whole reason we have the library 😆 I get there are scenarios it cannot handle and there it's completely fine to manually change the examples after conversion, but the majority should be automated

Just mix both suggestions. First use the converter, then fine tune the result so it looks better (in terms of generated Id's, etc), specially for new users.


./train/fetch_caffe.sh gets different version of Caffe

It seems that ./train/fetch_caffe.sh doesn't get the modified version of Caffe that it is supposed get. The downloaded tar file opens to to a directory called caffe_private_pascal/ (instead of caffe-colorization/, which is what is called by ./train/train_model.sh), and the presets for Makefile.config.example does not match with what the model asks for.  Did you remove the supported version of Caffe?

I got the same problem.😖 How to solve it..

I too got the same problem. Did Anyone of you resolved this issue? Please let me know

I also got the same problem. QAQ

Yep same problem here. Does not work. Training is basically broken on this script until this is fixed...

OK, so....
I successfully downloaded and built caffe-colorization with this method on a new server with python 2.7 pre-installed. I am actually training for the first time!
I have cuda 8.0 installed . Cudnn v4 (tho i dont think cudnn matters, since i disable it in the makefile)
https://chunml.github.io/ChunML.github.io/project/Installing-Caffe-Ubuntu/
Stop following install info on that site when it gets to the part about installing caffe.
Do the following instead
git clone -b master --single-branch https://github.com/richzhang/colorization.git
run ./train/fetch_init_model.sh
Then, modify /train/fetch_caffe.sh file to use this file in wget line:
https://people.eecs.berkeley.edu/~rich.zhang/projects/2016_colorization/files/train/caffe-colorization_old.tar.gz
run ./train/fetch_caffe.sh
then, in caffe-colorization directory:
modify makefile.config with the following
Change CV settings to comment the current one, and uncomment the #3 one several lines below
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial/
comment out the matlab line (i dont have matlab so...)
uncomment python layer:=1
then
make all & make test && make runtest && make pycaffe
dont forget to add your path to your new caffe to bashrc
sudo vim ~/.bashrc
export PYTHONPATH=$HOME/colorization/colorization/caffe-colorization/python:$PYTHONPATH
export PYTHONPATH=$HOME/colorization/colorization/resources:$PYTHONPATH
and then run
source ~/.bashrc
There's still a few post install bugs that are googleable. But this got me going in the right direction. Hope it helps someone else.


Update readme file

Add list of samples with a small description of each sample

Hi @Azadehkhojandi
Could you rebase this of the latest and reopen. Will be happy to review and merge. Thanks


Incompatible with ae3e-plotly-panel

Grafana version 7.2.2 and also 7.1.5
plotly-panel version 0.3.1
agenty-flowcharting-panel version: 0.9.0
This plugin seems to be conflicting with ae3e-plotly-panel. When one is loaded prior to the other, the other will fail.

Press CTRL+F5 for clean browser
Go to dashboard with plotly panel: plotly-panel OK
Go to dashboard with flowcharting panel: flowcharting fails to load
Console:

loader.js:1237 Uncaught Error: Can only have one anonymous define call per script file
    at s.enqueueDefineAnonymousModule (loader.js:1237)
    at n (loader.js:1716)
    at <anonymous>:96:135
    at <anonymous>:96:268
    at w (jquery.js:129)
    at Function.globalEval (jquery.js:372)
    at text script (jquery.js:10139)
    at jquery.js:9260
    at S (jquery.js:9736)
    at XMLHttpRequest.<anonymous> (jquery.js:10047)
module.js:2 Error eval.call :  Error: Can only have one anonymous define call per script file
    at s.enqueueDefineAnonymousModule (loader.js:1237)
    at n (loader.js:1716)
    at eval (eval at evalRaw (module.js:NaN), <anonymous>:3:98)
    at eval (eval at evalRaw (module.js:NaN), <anonymous>:3:122)
    at eval (<anonymous>)
    at Object.evalRaw (module.js:2)
    at Function.value (module.js:2)
    at new t (module.js:2)
    at t.value (module.js:2)
    at t.value (module.js:2)
module.js:2 GF ERROR : Unable to initialize graph TypeError: Cannot set property 'mxBasePath' of undefined
    at Function.value (module.js:2)
    at Function.value (module.js:2)
    at new t (module.js:2)
    at t.value (module.js:2)
    at t.value (module.js:2)
    at eval (module.js:2)
    at Array.forEach (<anonymous>)
    at t.value (module.js:2)
    at e.value (module.js:2)
    at Object.link (plugin_component.ts:60)

Press CTRL+F5 for clean browser
Go to dashboard with flowcharting panel: flowcharting OK
Go to dashboard with plotly panel: plotly-panel fails to load

https://github.com/ae3e/ae3e-plotly-panel/issues/7

Thx for your feedback, i will try

Possible related to https://github.com/plotly/plotly.js/issues/4563

Issue was fixed by ae3e-plotly-panel.


Check what happened with tp04 Mon 09th

Description

check DockerContainer
restart matrix servers
check with @ulope and description of system requirements for RSB
check how to get a warning and monitor RSB, also align with @palango

As it turns out, transport04 ran out of disk space.
https://github.com/raiden-network/raiden/issues/5462 May yield a script that will allow us to prune its size.
Steps to take:

Enable disk-space monitoring for all transport servers.
Enable Pruning script for all transport servers.
Check with @palango or @ulope as to what a sensible disk space may be for the droplets, and at what rate we should run any potential pruning.