Feature Request: Error Page when Channel fails to load

As I mentioned in #18, if the given URL doesn't load/exist/resolve, all we get for feedback is a blank white screen. A quick JS script to detect this failure mode and change the page to show a simple error message explaining why the channel didn't load would be super helpful for diagnostics.
I'll write something next week and push it up.

I did find other things that can be diagnosed as well such as bad CSS or JS...
Ok, I totally knew I was doing...I just made some typos and used Firefox Developer tools to diagnose it. I didn't break anything, I SWEAR

What about adding a Development mode that just prints all alerts and errors to the screen as alerts on the physical chrome casts?
This would allow us to see when something isn't working in the testing phase, but also see the exact error message just in case it's different from what we get in testing browsers. Unless somebody knows how to get the developer tools working on a Chromecast.
This could be combined with a more generic page that shows when in production mode that just shows a configurable logo along with an "Oops, looks like something went wrong."

Also diagnosed in #1

^ Could even be combined with an api on the server that let's the chrome casts report back errors to the server to get logged in the log files.
That could be a /log/ endpoint that just takes some text and dumps it as a log message.

Actually, it's a better idea to make a log page and use a channel or template to go to it.

Communicating with the Chromecast is a piece of cake, the issue is whether
the Chromecast can report such errors.
On Oct 15, 2017 12:35 AM, "Mark Stenglein"<EMAIL_ADDRESS>wrote:

^ Could even be combined with an api on the server that let's the chrome
casts report back errors to the server to get logged in the log files.
That could be a /log/ endpoint that just takes some text and dumps it as a
log message.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/superhawk610/multicast/issues/19#issuecomment-336687881,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIAC9v4N4tIcr9mkqWo_mhyQfEffp63oks5ssZmWgaJpZM4P5ocD
.

Something like this should do the trick: https://stackoverflow.com/a/8000059
Just wrap the console.warn/err/etc methods so that they also do an http call to the server to report the contents of any error that is posted.

I'll experiment this a little more...I'll give you an update with results.
On Oct 15, 2017 1:06 AM, "Mark Stenglein"<EMAIL_ADDRESS>wrote:

Something like this should do the trick: https://stackoverflow.com/a/
8000059
Just wrap the console.warn/err/etc methods so that they also do an http
call to the server to report the contents of any error that is posted.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/superhawk610/multicast/issues/19#issuecomment-336689006,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIAC9n2OZLdI09dcXetzrvratPDZqq94ks5ssaEBgaJpZM4P5ocD
.

Chromecasts actually offer a built-in debugger via Google Chrome, accessible at chrome://inspect. This will list all Chromecast receivers on the LAN and allow access to their layout and console in real time.
I do think logging would be a very useful feature, for debugging in the short-term and maintenance in the long-term. I'll open a new branch for this and try to get some work done for it when I get a chance.

Just wanted to let you guys what I do right now for testing:
Just click the preview link on the device, it will render exactly the same page the chromecast is running on, including my rotation feature.


Nuxt (ERROR TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type function ([Function (anonymous)]))

Environment

Operating System: Linux
Node Version:     v18.16.1
Nuxt Version:     3.12.3
CLI Version:      3.12.0
Nitro Version:    2.9.7
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      modules, routeRules, piniaPersistedstate, ui, app, pinia, compatibilityDate
Runtime Modules<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>Build Modules:    -

Reproduction
https://github.com/Arcane6/tester
Describe the bug
When I run the npm run build command, it gives me this error. Maybe he's having problems with Pinia's dependencies.
ERROR  TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type function ([Function (anonymous)])                                                                                nitro 12:26:55 PM
undefined
ERROR  The "path" argument must be of type string. Received type function ([Function (anonymous)])                                                                                12:26:55 PM
at new NodeError (node:internal/errors:399:5)
at validateString (node:internal/validators:163:11)
at Function.join (node:path:1172:7)
at Object.mockPath [as then] (node_modules/@vercel/nft/out/analyze.js:174:27)
ERROR  The "path" argument must be of type string. Received type function ([Function (anonymous)])
Additional context
{
"name": "nuxt-app",
"private": true,
"type": "module",
"scripts": {
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
},
"devDependencies": {
"@nuxt/devtools": "latest",
"@pinia-plugin-persistedstate/nuxt": "^1.2.1",
"nuxt": "^3.12.2",
"vue": "^3.3.4",
"vue-router": "^4.2.5"
},
"dependencies": {
"@iconify-json/material-symbols": "^1.1.65",
"@iconify-json/ri": "^1.1.18",
"@iconify-json/vscode-icons": "^1.1.31",
"@nuxt/ui": "^2.17.0",
"@pinia/nuxt": "^0.5.1",
"nuxt-icon": "^0.6.6",
"pinia": "^2.1.7",
"dayjs": "^1.11.11"
},
"overrides": {
"vue": "^3.3.4"
}
}
Logs
ERROR  TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type function ([Function (anonymous)])                                                                                nitro 12:26:55 PM

undefined

 ERROR  The "path" argument must be of type string. Received type function ([Function (anonymous)])                                                                                12:26:55 PM

  at new NodeError (node:internal/errors:399:5)
  at validateString (node:internal/validators:163:11)
  at Function.join (node:path:1172:7)
  at Object.mockPath [as then] (node_modules/@vercel/nft/out/analyze.js:174:27)

 ERROR  The "path" argument must be of type string. Received type function ([Function (anonymous)])

Any idea what it could be?

I had the same error with my project. Any update?

@DiasNeto0305 and @Arcane6
I was facing similar issue in my nuxt project and I figured out I was using
import { errorMessages } from 'vue/compiler-sfc';
you can check whether you guys are using similar imports that are irrelevant for build.
Also make sure your import paths are correct.

I have the same issue, I get this error when calling parse from vue/compiler-sfc, but not from @vue/compiler-sfc.
Is anyone following up on this issue? Why can't I do this?

I have the same issue, I get this error when calling parse from vue/compiler-sfc, but not from @vue/compiler-sfc.
Is anyone following up on this issue? Why can't I do this?

[UPDATE]: This solution is not valid and will cause nuxt preivew to report an error: "velocityjs" not found.
I didn't find the right way to use vue sfc-compiler in nuxt.

@DiasNeto0305 and @Arcane6 I was facing similar issue in my nuxt project and I figured out I was using import { errorMessages } from 'vue/compiler-sfc';  As I removed this from by code the issue resolved. You can check whether you are using similar imports that are irrelevant for build. Also make sure your import paths are correct.

Thank you, I was also having a similar issue and this fixed it


Add space between providers' names

I noticed that in the README some providers' names have spaces and some don't, so I corrected them to more readable ones.

Codecov Report

Merging #264 (e522c44) into master (0f4f0f9) will decrease coverage by 0.33%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #264      +/-   ##
============================================
- Coverage     94.69%   94.35%   -0.34%
+ Complexity     1888     1882       -6
============================================
  Files           193      193
  Lines          3955     3950       -5
  Branches        393      393
============================================
- Hits           3745     3727      -18
- Misses          110      123      +13
  Partials        100      100

Impacted Files
Coverage Δ

src/main/java/net/datafaker/Hearthstone.java
84.61% <0.00%> (-15.39%)
:arrow_down:

src/main/java/net/datafaker/service/FakerIDN.java
63.63% <0.00%> (-9.10%)
:arrow_down:

src/main/java/net/datafaker/Commerce.java
92.30% <0.00%> (-3.85%)
:arrow_down:

...ker/idnumbers/pt/br/IdNumberGeneratorPtBrUtil.java
92.59% <0.00%> (-3.71%)
:arrow_down:

src/main/java/net/datafaker/Lorem.java
90.43% <0.00%> (-2.61%)
:arrow_down:

src/main/java/net/datafaker/Code.java
95.45% <0.00%> (-2.28%)
:arrow_down:

.../java/net/datafaker/service/FakeValuesService.java
88.16% <0.00%> (-0.44%)
:arrow_down:

src/main/java/net/datafaker/Internet.java
88.23% <0.00%> (-0.34%)
:arrow_down:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

Nice! What we actually need is a small tool to regenerate this list automatically, and also ideally create the providers.md file, which I think is getting a bit out of date, since it's quite tricky to update it every time


Myroom not working

Someone work on it if necessary. If we arent doing anything there, mention them in Future work.

Its working for me!. Can you elaborate whats the issue with it?

The URL was not working if you didn't populate it. Regardless it is fixed now.


Support foreign key checks

improved validate
connects https://github.com/frictionlessdata/datapackage-js/issues/82
added additional describe level to Table tests (diff just because of indentations only FK tests are new)

On tableschema level we just accepts references argument for Table constructor. It's because tableschema layer is not responsible for integrity checks by itself but provides tools for it like schema.foreignKeys and table FK checks if references is passed.
So on datapackage level those references should be composed. See this PR tests and readme diff for more references argument information. See datapackage implementation - https://github.com/frictionlessdata/datapackage-js/pull/89

@amercader
Could you please review?

@roll thanks so much for this change. It really helps my project and your timing is perfect.
I'll think about the wording to use in spec.json for the new error message you added to support https://github.com/frictionlessdata/tableschema-js/issues/86

@Stephen-Gates
I'll suggest fixing #86 on Aug 4 sprint planning.

@roll here's my attempt at an error message.
message:  The value {value} in row {row_number} and column {column_name_A} does not exist in column {column_name_B} in table {table_name_B}
description: A matching value should exist for a valid foreign key relationship.  How it could be resolved:

If this value is not correct, update the value.
If value is correct, then add it to column {column_name_B} in table {table_name_B}
If this error should be ignored, then disable the foreign key check for column {column_name_A

@Stephen-Gates
Thank! I've add it to #86


Refactor projects show view

Notion card
Summary
View had multiple DB queries via model functions. Moved them to controller.
Preview

Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Refactor (non-breaking and retains same functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to
not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?

Checklist:

[ ] I have manually tested all workflows
[ ] I have performed a self-review of my own code
[ ] I have annotated changes in the PR that are relevant to the reviewer
[ ] I have added automated tests for my code

This is duplicate of https://github.com/saeloun/miru-web/pull/853
Closing this.


3 Environments and Root Directory Clean-up

Question 1:  I have 3 environments: [development/.env], [production/.env.production], and [test/.env.test] ... I got your library dynamically switching between .env  and  .env.production , but how do I get it to switch between 3 environments? Three environments is very common, for example, development, staging, and production.
Question 2: I would like to store these env files in a 'config' sub-directory, but when i do, I get a bunch of ENOENT errors saying that my env files can't be located... how can I clean up my root directory by moving these env files to a folder without running into that error?

For question 1, a solution is putting all your config in a separate folder and copy it to .env at project root in your launching script. (see the following)
{
 "scripts": {
    "ios-staging": "cp config/staging .env && npm run-ios --configuration Release"
}

For question 2, it might be a good feature to have, I would try to implement it recently.

@zetachang I think in your above answer if you run-ios with Release configuration, you should  run cp config/staging .env.production cmd instead of cp config/staging .env, right?


fix(stepper): disable buttons if necessary

This PR fixes a Stepper navigation issue.
👉 Issue https://github.com/okp4/ui/issues/489
It disables the next or previous button when only disabled steps remain.

Codecov Report

Merging #490 (a1d453d) into main (2f1a85a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #490   +/-   ##
=======================================
  Coverage   98.05%   98.05%
=======================================
  Files          73       73
  Lines         821      821
  Branches      128      128
=======================================
  Hits          805      805
  Misses         14       14
  Partials        2        2

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

:tada: This PR is included in version 1.14.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Fork, Commit, Merge - Easy Issue (Django)

Fork, Commit, Merge - Easy Issue (Django)
Create a simple Django view that returns a "Hello, World!" message
Note: You don't have ask permission to start solving the issue or get assigned, since these issues are supposed to be always open for new contributors. The actions-user bot will reset the file back to previous state for the next contributor after your commit is merged. So you can just simply start working with the issue right away!
How to get started
Start by opening the tasks/django/easy directory from the root of the project.
Then open hello_world/hello_world/urls.py and hello_world/hello_world_app/views.py files and start working on your solution!
Notice that there are hello_world and hello_world_app directories inside of hello_world directory which can make it a bit confusing. Make sure you are working with right folders and files!
Description
Your task is to create a simple Django view that returns a "Hello, World!" message to the browser.

You have to implement /hello path in hello_world/hello_world/urls.py file similar as the /admin path is implemented.
Also, you have to add return statement inside hello_world/hello_world_app/views.py file, which will return the string "Hello, World!".

How to Run:

Make sure you are in tasks/django/easy/hello_world directory in your Terminal.
Run the development server: python manage.py runserver
Navigate to http://<IP_ADDRESS>:8000/hello/ in your web browser.
You should see "Hello, World!" displayed on the screen.

To work with this issue, you need to have Python and Django installed to your local machine.
Check out README.md for more instructions of installing Python and Django. You can also find there instructions of how to make a pull request.
Feel free to ask any questions here if you have some problems!
Also, kindly give this project a star to enhance its visibility for new developers!

Is this issue still open ? I would like to contribute this issue.

I put this in project level (hello_world.urls )  path('hello/',include('hello_world_app.urls')),and add " return HttpResponse("Hello, World!"). " to app level (hellow_world_app.urls) .when I runserver I got this result for both admin/ and hello/
"A server error occurred.  Please contact the administrator. "

I put this path('hello/',include('hello_world_app.urls')), in project level (hello_world.urls ) and add " return HttpResponse("Hello, World!"). " to app level (hellow_world_app.urls) .However when I runserver I got this result for both admin/ and hello/ "A server error occurred. Please contact the administrator. "

Yeah i noticed that myself too, and it is because the SECRET_KEY is missing from the settings. Add this SECRET_KEY = 'django-insecure-=i7itqe#e13f=u97*99+@yrj!saeke=ctb2zf(o2e#p^v#n*01' to the hello_world/settings.py and it should work.


Check on Utterance.predicate in the Announcer?

Over in https://github.com/phetsims/friction/issues/253#issuecomment-936846556 and https://github.com/phetsims/friction/issues/255, we decided that stale utterances are literally the worst. It would be really really good to use Utterance.predicate to make sure that nothing is announced when it is stale. Currently that is set up to run in utteranceQueue, but there is now a second queue in voicingManager, which is also async. I think we should check on the predicate a second time before the Announcer sends it to the browser.
@jessegreenberg, this patch worked really well for voicing, can you please let me know what you think? The main concern for me is if there is an assumption about how the predicate is called just once per run, like for side effects (hopefully no one is doing that).

Index: js/accessibility/voicing/voicingManager.js
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/js/accessibility/voicing/voicingManager.js b/js/accessibility/voicing/voicingManager.js
--- a/js/accessibility/voicing/voicingManager.js	(revision 7edd153d7c6fe7a122f3f426af0657c0fbeb1540)
+++ b/js/accessibility/voicing/voicingManager.js	(date<PHONE_NUMBER>183)
@@ -237,7 +237,9 @@
           // to prevent an infinite loop.
           this.removeFromVoicingQueue( voicingQueueElement );

-          synth.speak( voicingQueueElement.speechSynthUtterance );
+          if ( voicingQueueElement.utterance.predicate() ) {
+            synth.speak( voicingQueueElement.speechSynthUtterance );
+          }

           break;
         }

We could do the same thing in AriaLiveAnnouncer if we wanted to by passing the whole utterance through the announcingEmitter, and wrapping the call to setTextContent, but I don't want to work further until we need to.

https://github.com/phetsims/friction/issues/253 is basically blocked by this, and I'm hoping for a dev version by tomorrow, so I'm going to go ahead and commit this, and then ask for a review instead.

My above comment being said, I like that you ended up doing this in AriaLiveAnnouncer. If we are going to do this it seems best if they are the same.

I will say that there is an async step in AriaLiveAnnouncer, so although much less important, it could still be useful.

@zepumph and I duscussed 10/8/21. We discussed how we think we should proceed with https://github.com/phetsims/scenery/issues/1294#issuecomment-938202465. We think Announcer should have an announcingEmitter and the subclasses emit when content is actually passed off to the browser. For AriaLiveAnnouncer that is when we set the aria-live textContent and for voicingManager it is when we get the start event for the speaking utterance. But we are going to continue with that in a new issue.
We have concerns about utterance-queue and its usage with Voicing. The timing features of Utterance will not work well with voicing because the UtteranceQueue moves through things quickly while voicing utterances will sit in the voicingManager.voicingQueue for a long time. We are going to make a new issue to consider a different structure to queue Voicing responses.
But we are done with this issue, closing this one.


Fix flaky TestBuilder_StartSmeshingCoinbase

Closes #3951
The test was flaky because explicitly canceling the builder's context stopped it. The subsequent StartSmeshing() could then actually restart it.

bors merge

Bors merge

Bors merge


Sidebar not collapsing with the TST custom-hover.css

FlyingFox 0.1.1, Firefox 86.0, Windows 10.
Sidebar remains open/uncollapsed even when mouse is nowhere near it. I can still toggle the sidebar on/off via hotkey (F1). When I mouseover a tab in the sidebar, the "close tab" icon pops unhides.
Bookmarks toolbar collapses/autohides.

see discussion at #43 , Import userChrome-hover.css in config.css to fix this.

That fixed it. Thanks.


Feat/Sandbox

For now, we have a sandboxed server that we can hit up from outside the sandbox with code and it will return a serialized walker object. (see sandbox/server/index.py

receive POST requests containing Python encodings for Walkers as strings,
generate the Walker in the sandboxed server,
return the serialized walker to the caller.

Evaluation can in principle be done outside of the sandbox since the arbitrary code is only used for generating walklers, which are then safe.
Open questions:

the example walker descriptions in python do generate walkers but then running walker.validate() returns false. I suspect it's a problem with the validate function rather than the descriptions but did not check.

Just realized I pulled from build-lego which isn't finished yet.

A note on the sandbox for my branch #13:
(my code is kind of quick-and-dirty, so feel free to do what's the best for your code)
If #13 is merged, for the toy task ImageOptim to run, I will need an api in the sandbox kind of like the following
@app.route("/eval_func", methods=["POST"])
def evaluate_function():
    req_json = request.get_json()
    code_string = req_json["code"]
    func_name = req_json["func_name"]

    return execute_with_result(code_string, func_name, 5.0).__repr__()

where execute_with_result is just to

run the program under reliability_guard() in a process,
take in an extra string of function name (func_name) in the parameter,
execute the function,
assuming the result is a np.ndarray and return to me the .tolist() result.

We just need to have a slightly different unsafe_execute kind of like the following
def unsafe_execute_with_result(check_program, func_name, result, timeout):
    import shutil, os
    reliability_guard()

    # Run program.
    try:
        exec_globals = {}
        with swallow_io():
            with time_limit(timeout):
                exec(check_program, exec_globals)
                result.append(exec_globals[func_name]().tolist())

    except BaseException as e:
        result.append(str(e))

@TheExGenesis Thanks for the great work! Can you pull from main, make sure your code still works and can interface with @honglu2875's code (see https://github.com/CarperAI/ELM/blob/main/map_elites/environments.py#L213), then I think we're ready to merge!

@honglu2875 can I ask why the name _with_result and why you're appending to result rather than just returning?

@honglu2875 can I ask why the name _with_result and why you're appending to result rather than just returning?
Also it seems to me different environments might benefit from different dedicated functions since e.g. your interface assumes an ndarray and uses the sandbox for a full eval, while the sodaracer only requires the sandbox to generate the racers, not for eval. I'll accommodate the ImageOptim of course.

Oh yeah I literally copied&pasted the other codes. The name _with_result is nothing important (I was thinking I'm evaluating the function and returning its result). Appending instead of returning is also unnecessary (simply because I copied from the other unsafe_execute function). My codes here are really ugly (plus a serious concurrency issue if we have multiple processes) and I only want to show an example of what the API needs to return. Please forget about them and only keep the idea that it should return the numpy array or list.
Yes, I agree that a different function and interface make total sense. Feel free to also change the name of the endpoint if necessary. The modification on my side is trivial.
I remember @herbiebradley had some codes somewhere about classifying different errors into different numbers. Maybe we can incorporate this into the sandbox and let it return json message like {'status': ..., 'data': ...} for both interface?

Thanks for responding! I'll make the error codes nicer by returning json. Don't have a great idea of what to do concurrency-wise for the execs, open to suggestions.

@herbiebradley confirmed that the code still works and interface is compatible with H's work.

Looks good, I added a few comments. Thanks for the work!

all good, handled the comments :)


Doubling relative_url_root on wrong auth and Rails "config.relative_url_root" not taken into account

(I know something similar has been issued before, but not as detailed with samples as here and not fixed, so here's my issue).
Environment

Ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
Rails 5.2.0
Devise 4.4.3

Step to reproduce

$ rails new myApp
Add figaro (optional, but required to understand my code below) and devise to the Gemfile and make sure devise is set to the version 4.4.3.
$ bundle install
Create the file /config/application.yml and paste this in it:

NAME: 'myApp'

RELATIVE_PATH: '/tutu'

HOST: localhost
PORT: '3000'

Add the following code to /config/application.rb:

    config.root_directory =
    config.relative_url_root =
    config.action_controller.relative_url_root = ENV['RELATIVE_PATH'] or ENV['RAILS_RELATIVE_URL_ROOT']
    config.assets.prefix = "#{config.root_directory}#{config.assets.prefix}"

$ rails generate devise:install
Copy the following code in the body of the app/views/layouts/application.html.erb:

	<%= link_to "Home", root_path %>

<%= notice %>

<%= alert %>

$ rails g devise User
$ rake db:create
$ rake db:migrate
Paste the code bellow to /config/routes.rb:

Rails.application.routes.draw do
  scope Rails.application.config.relative_url_root || '/' do
    devise_for :users, path_prefix: 'auth'
    get '/auth/users', to: redirect('/')

    # Optional, but required if you want to note that the scope is working well on the rest of Rails.
    root 'pages#index'
  end
end

Add the following code to your /config/environments/development.rb:

  # Devise requirements
  config.action_mailer.default_url_options = { host: ENV["HOST"], port: ENV["PORT"] }

The two following steps are optional and are just there in order to make a sample that can show that the url path scope is working well on the non-devise rest of Rails.
$ rails g controller pages index
Copy the following code to /app/views/pages/index.html.erb:

Sample Home Page

This is the home page.

<%= link_to "sign_in", new_user_session_path %> |
<%= link_to "sign_up", new_user_registration_path %>

$ rails s

Current behavior

Rails "config.relative_url_root" not taken into account for the devise paths.
For example http://localhost:3000/tutu is the home page of the application.
And devise is working under http://localhost:3000/auth/users/sign_in for example.

Doubling relative_url_root on wrong auth on all links on the page that are not featured by devise as well as the action redirection of the new sessions view (note that this is the only way to produce the issue I found, tested on new registrations with wrong parameters and this is not happening).
For example, without creating any account try to signin (and expect the flash message "Invalid Email or password."), then check out the link "Home" on the top of the page. You could also have tried with an account created and then enter wrong credentials parameters, then enter the right ones, you'll get the error as well, but this time because the form POST to /tutu/auth/users/sign_in while the route expected is POST /auth/users/sign_in (see the issue above).

Expected behavior

http://localhost:3000/tutu should be the root anywhere in the application.
For example:

http://localhost:3000/tutu -> Home page ;
http://localhost:3000/tutu/auth/users/sign_in -> Sign in page ;
http://localhost:3000/tutu/users/1 -> Some other view ;

The root url shouldn't transform into /tutu/tutu when someone enter wrong credentials parameters and stay always /tutu in this particular sample application example.

To add some data points, I think we are having a similar issue.
Environment is:
-Ruby 2.2.7
-Devise 4.5.0
-Rails 4.2.10
When we upgraded one of our apps from Rails 4.1 to Rails 4.2.10, in our password reset emails, the edit_password_url contained duplicates of our relative_url_root.  No other routes seem to be affected, and the password recovery email is the only one our app sends.
In Rails versions prior to ~4.2, we don't experience the issue.

I have the same issue

I'm having a similar issue with config.relative_url_root being ignored.

I'm also having a similar issue, anyone got a fix?

Yikes. Can't believe this is still open. Anyone have a fix?


Re-asking for permission

If a user denies the Media Library permission the first time, is there a way to ask for permission again later, such as an app re-launch?
Based on my experiments, it seems that when the query is run on subsequent launches it just uses whatever the initial response was. It's a bit unintuitive that it pushes the option permanently to the Settings->Privacy->Media_Library menu.
The Apple documentation on the MediaPlayer framework is pretty abysmal and I was wondering if you found anything out.

Hey,
Unfortunately the Media Library permission is the same as all other iOS permissions (location, contacts, calendars, notifications, etc) in that you only get one shot on asking for permission unless they delete and re-install the app. If the user denies the request, the only way for them to enable the permission is to go into the App Settings and manually turn it on.
My recommended flow is that you check the authorisation state and if it is Denied then you show an alert with an option to take the user to the app settings page. You can use UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)!, options: [:], completionHandler: nil) to then open the Settings app on your app page where users will then see the Media Library permission (i.e. you don't need to go to Settings > Privacy > Media Library, iOS will automatically generate you a settings page and include it after you first request permission).
Hope that helps!

I just updated the code to include this "Open Settings" link in the error message.


span/5 supporting difference list

A version of span/4 which supports a difference list like:
?- span(==(a), [a,a,b,c,a], Prefix, Tail, Suffix).
Prefix = [a, a|Tail],
Suffix = [b, c, a].

There are a few errant test cases in this. I'll push the corrections in the next commit.

The latest fixes, should represent a functional span/5.

@eazar001 Thanks for the great work here.  The test cases are especially thorough.  I pushed a change in commit eef5ea71103608dc1d897ddc0c841ca5a9423864 to adjust the semantics for cases where span/5 finds 0 matching elements.  Your first commit in the series actually had the right semantics.
Basically, it's because of how difference lists work.  The list [a,b,c] is represented as a difference as [a,b,c|Tail]-Tail.  That's because the difference between [a,b,c|Tail] and Tail is [a,b,c].  By extension the list [] is represented as a difference list Tail-Tail since the difference between Tail and Tail is nothing.
If this all makes sense to you, I'll publish a new version tomorrow with all these changes.
For convenience, here is a summary of changes for span/5 so far.

Okay I see, the empty list succeeding does make sense when juxtaposed with your explanation now. Thank you for clearing this up for me.

Released as part of v0.12.0.  Thanks again @eazar001

Pleasure as always, @mndrix


feat(material/core): Allow namespacing ripple-loader event handler

ripple-loader registers an event handler on the document to do event delegation. If there are multiple instances of ripple-loader on one page, then they will both try to handle events for [mat-ripple-loader-uninitialized] elements. If a namespace is provided, then the handler will only handle events for [mat-ripple-loader-uninitialized="{namespace}"] elements.

The internal bug is b/309675388 for more context.
I agree that there's no normal way to have multiple instances, but we have a special virtualization framework to embed a guest Angular app in our shell Angular app. The guest app code runs in an invisible iframe, and we virtualize the DOM so that  the guest app elements are actual in the parent frame. So both ripple-loader instances are listening to events on the same document

LGTM, but I feel like a better route could be to disable the ripple loader for nested angular apps. It might even be possible to automate the detection of nested apps so that there is no need for apps to first run into this issue and then go configure their global ripple config

Is there something I can do to re-trigger the internal presubmits to unblock this?

Merging this since the corresponding internal change was submitted.


separate context for operations

Fixes some issues around catalog generation, makes it so that context generation happens differently for model-like things and operations.
Changes:

only add operations to the graph once
fix missing parent_map and child_map entries

given the changes on this plus what i sent you about parsing, maybe we should hold off on this. it's not actually causing problems rn, right?

@drewbanin ok, yeah that sounds fine

@cmcarthur I made some other changes around operations in this PR. Going to rip them out into a different PR, then close this one.


Vue 2.5 Scope attribute deprecated replaced by slot-scope

I have been working on a recent project and Vue has updated to version 2.5.2.  I am now getting a warning in my webpack build process.
(Emitted value instead of an instance of Error) the "scope" attribute for scoped
slots have been deprecated and replaced by "slot-scope" since 2.5. The new
"slot-scope" attribute can also be used on plain elements in addition to
<template> to denote scoped slots.

This seems to be related to my action slot.
<template slot="actions" scope="props">

</template>

In my case the following update seems to have resolved my issue.  Documenting for others.  Probably should be a documentation update once the Vue version is raised in master.
<template slot="actions" slot-scope="props">

</template>

@itguy614 Thanks a lot for the update. I'll check it out and update the doc as needed. :)

I've updated all 'scope=" to 'slot-scope=' and I'm still getting the warnings. Any recommendations?

@typerory change this
<template slot="actions" scope="props">

                <button class="btn btn-default"
                    @click="onAction('view-item', props.rowData, props.rowIndex)">
                     A
                </button>
                <button class="btn btn-default"
                    @click="onAction('edit-item', props.rowData, props.rowIndex)">
                     B
                </button>
                <button class="btn btn-default"
                    @click="onAction('delete-item', props.rowData, props.rowIndex)">
                     C
                </button>

            </template>

to this

                <button class="btn btn-default"
                    @click="onAction('view-item', props.rowData, props.rowIndex)">
                     A
                </button>
                <button class="btn btn-default"
                    @click="onAction('edit-item', props.rowData, props.rowIndex)">
                     B
                </button>
                <button class="btn btn-default"
                    @click="onAction('delete-item', props.rowData, props.rowIndex)">
                     C
                </button>

The error message should link to the deprecation documentation, if it even exists.

Thanks,my issues is solved


Make strings and string-views Unicode aware

The goal of this PR is to create a hierarchy of strings that can safely interoperate. This hierarchy is also properly subclassed, so it is possible to pass an AsciiStringView const& to a function expecting a Utf8View const&, for example. All of the functionality also interoperates (For example, you can Utf16View::starts_with(Wtf8View)).
The Hierarchy

UnicodeCodePointViewable; can be passed as a "needle" (to e.g. [...].starts_with(needle))

AsciiChar (created with '...'_ascii)
UnicodeCodePoint (created with U'...'_code_point)
UnicodeCodePointIterable; has StringView-like functionality (e.g. iterable.starts_with(...))

Wtf8String (was String, created with u8"..."_wtf8_string)

Utf8String (created with u8"..."_utf8_string)

Wtf8View (created with u8"..."_wtf8)

Utf8View (created with u8"..."_utf8)

AsciiStringView (created with "..."_ascii)

Wtf8FlyString (was FlyString, created with u8"..."_wtf8_fly_string)

Utf8FlyString (created with u8"..."_utf8_fly_string)

Wtf16View

Utf16View

Wtf32View

Utf32View

UnicodeCodePointViewables only contain unicode code points. WTF ("Wobbly Transformation Format") variants may contain (unpaired) UTF-16 surrogate codepoints, whereas UTF variants may not. These invariants are checked during construction, at compile time when possible. UTF variants can therefore be safely passed to simdutf without having to validate.
In LibJS world, DOMString would be an alias of Wtf8String, and USVString would be an alias of Utf8String.

WTF sounds like a great idea

I highly, highly recommend talking about major architectural changes with maintainers on Discord before spending time on an implementation.

I did mention I would work/was working on this several times, although I didn't get much of a response from any of the maintainers.
This PR isn't meant to be an architectural change yet. Besides the renaming of existing classes to avoid collisions, almost everything is backwards compatible.

This PR isn't meant to be an architectural change yet.

The meat of this PR is:
 29 files changed, 2989 insertions(+), 20 deletions(-)


how to reproduce the fig.5 in the paper

Hello there,
Thank you for making the code public. I have a quick question, is the hyper-parameters in optimizer/bohb_one_shot/master and worker same as the one used in producing the Fig.5 in the paper? Thank you.

Hello Linnan,
Thank you for your interest in our paper. Yes, those hyperparameters are the same we used to produce the Fig. 5 in the paper. You can run all bohb_one_shot experiments by executing this bash script here
Cheers,
Arber


Test review app integration

Jira link
HOTT-2424
What?
I have added/removed/altered:

[ ] Added foo in bar
[ ] Removed baz

Why?
I am doing this because:

Have you? (optional)

[ ] Reviewed view changes with stake holders
[ ] Validated mobile responsive behaviour of view changes

Deployment risks (optional)

Makes changes to our complex routing setup that may affect apis to proxying to backend

just for testing purposes


Move wagtail out of the python package set

Issue description
Wagtail is an application, not a library, and should therefore not live in the python package set.
Noticed due to breakage when moving the default django version from 3 to 4 in #245436.
wagtail> ERROR: Could not find a version that satisfies the requirement Django<4.2,>=3.2 (from wagtail) (from versions: none)
wagtail> ERROR: No matching distribution found for Django<4.2,>=3.2

Remediation
Move the wagtail package into pkgs/servers/web-apps/. For its extensions use packageOverrides to callPackage those derivations.
Example applications doing this are home-assistant or apache-airflow.
Reasoning
The package set moves at a pace that applications cannot be updated at. Workarounds, like overriding specific packages, are only possibly outside the common python package set, inside the package specific overriden package set.
@sephii

Wagtail is not meant to be used as a standalone application, but is used as a library for other projects to use its CMS capabilities (see the docs for more information). It can probably be used as a standalone application, which would be a bit like using a standalone Wordpress without any customization, but I don’t think anyone would use it as-is, except maybe for trying out the product.
If you check the exposed wagtail entrypoint, you’ll see the only exposed command is a start project, allowing you to create a new Django project with dependencies on Wagtail.
So I don’t think Wagtail should be packaged as a Python application (but maybe I’m missing something).

Thanks for making the argument.


CronWorkflow suspend: incorrect manifest

Pre-bug-report checklist
1. This bug can be reproduced using pure Argo YAML

[ ] Yes 👉 Please report a bug to the Argo Workflows GitHub 👈
[x] No

If yes, it is more likely to be an Argo bug unrelated to Hera. Please double check before submitting an issue to Hera.
2. This bug occurs in Hera when...

[x] exporting to YAML
[x] submitting to Argo
[ ] running on Argo with the Hera runner
[ ] other:

Bug report
Describe the bug
CronWorkflow(
    name="foo",
    schedule="* * * * *",
    workflow_template_ref=models.WorkflowTemplateRef(name="bar"),
    suspend=True,
)

Generates:
apiVersion: argoproj.io/v1alpha1
kind: CronWorkflow
metadata:
  name: foo
spec:
  schedule: 0 */6 * * *
  workflowSpec:
    suspend: true
    workflowTemplateRef:
      name: bar

This does not prevent the workflow from being scheduled, as expected. Instead, it regularly schedules the workflows, but the workflow itself is suspended and stays running forever.
Expected behavior
As far as i can tell from the docs (and from clicking the suspend checkbox inside Workflows), it should generate
apiVersion: argoproj.io/v1alpha1
kind: CronWorkflow
metadata:
  name: foo
spec:
  schedule: 0 */6 * * *
  suspend: true
  workflowSpec:
    workflowTemplateRef:
      name: bar

Environment

Hera Version: 5.15.1
Python Version: 3.10
Argo Version: 3.5.1

As far as I can tell, this stems from https://github.com/argoproj-labs/hera/blob/main/src/hera/workflows/cron_workflow.py#L153 not special casing the suspend field, like it does the schedule field.
It seems like it could be fixed by something alike:
        model_workflow = cast(_ModelWorkflow, super().build())
+        model_workflow.spec.suspend = None
        model_cron_workflow = _ModelCronWorkflow(
            metadata=model_workflow.metadata,
            spec=CronWorkflowSpec(
                schedule=self.schedule,
+                suspend=self.suspend,
                workflow_spec=model_workflow.spec,
            ),
        )

to exactly produce the above yaml. With the caveat, that if you did want the suspend inside workflowSpec, this makes that impossible, for whatever that's worth...
I can supply the PR if this makes sense?

for what it's worth, I ran into the relative complexity caused by CronWorkflow subclassing Workflow in https://github.com/argoproj-labs/hera/pull/942.
imo, while subclassing Workflow for the DRYness of its fields is convenient, the complexity added downstream ends up being more confusing due to fields like this.
It's perhaps beyond the scope of this specific bug report, but it might be better to construct a mixin that lets them both share the methods that are mutually applicable, while redefining the actual attributes on CronWorkflow and properly assigning the spec path, so that the build method doesn't need to pretend it's a workflow and individually handle the colliding attributes.

🥹 there's a whole separate cron_suspend?! gah. Well that probably solves this bug-wise...
I still probably/maybe think something about this issue indicates something maybe ought to change...


Git errors - give me action to show output

#5766

have a git error
I would like to see an action left of the 'Close' - 'Open Output', that would take me directly to the git ouput - that way the message and the cause would not be so disconected as now

Can't reproduce.

Here's how I can always repro:

Open any file in our repo and remove a semicolon on end of line
command pallette > git commit
commit will fail due to lint check and I do not get the show output action

@bpaseroThis command is a workbench actions which returns an error that has resolution actions. This pattern works when giving this error directly to the message service. Do you know why this is not getting properly wired up all the way to the message service?

👍


[Feature] Support for keyboard arrow keys

Pls support arrow keys down and up and enter key

H @selvam920, could you please provide some more details about the expected behavior.
Thnaks

H @selvam920, could you please provide some more details about the expected behavior.
Thanks

In case users presses down / up arrow key , the selection within the options must be selected appropriately and on press of "Enter" key, the option selected must be returned, apart from down / up arrow keys, it will be gr8 to support page up and page down to scroll within the suggestion list.

@wishstore36, thanks for the clarification that makes sense to me and it would be a great feature.

@maheshmnj  hi, if so, than have listen to the keyboard press event could be cubersome.

Is this feature added in latest version?

Quick update on this issue, we can now navigate list items using shift + tab and up/down arrow keys and select a list item using return
https://github.com/maheshmnj/searchfield/assets/31410839/f7d1e75b-1dad-454d-8b8a-adffab63bb3d
This needs few additional improvements

[ ] When the list is in focus we cannot search
[ ] navigating the list item should keep the focused item in the view (list should scroll as we navigate)

You should be able to test this by switching to issue-7 branch by adding the below dependency to your pubspec.yaml
searchfield:
    git:
      url: git://github.com/maheshmnj/searchfield.git
      ref: issue-7

thanks, would releases on pub.dev?

Soon once the two issues listed in the above comment are resolved, meanwhile you should be able to use it in your app by specifying the git URL mentioned in the above comment.

The current implementation is incorrect, At any instance, only one widget can remain in focus as mentioned here by one of the Flutter engineers https://discord.com/channels/608014603317936148/608014603317936150/1214604507015553086
We should probably keep the textfield in focus all the time and move the highlight based on the current selectedIndex.

Folks this is now released in v0.9.5, try it out!


Transaction Builder, check ABI availability

Description
Something is strange on the transaction builder, well-used addresses like DAI and USDC will return when their addresses are entered into the tx builder, an "ABI not found" message.
The strange thing is that this is not consistent, entering in the same contract address a few minutes later will return the function methods for the contract.
Steps to reproduce
For reference, please use the DAI contract:
https://etherscan.io/address/0x6b175474e89094c44da98b954eedeac495271d0f
Expected result
Smart contract ABI is correctly fetch from Etherscan
Obtained result
Currently in some moments the ABI is not returned. We should check if it's related to network speed issues or missing Etherscan API key in TX Builder configuration

The problem are the API rate limits
We were checking for some options to solve this like:

Use our gateway. /contracts/{address} endpoint can get the abi. We can fallback to use EtherScan if the contract cannot be found but need the API keys anyway for avoiding rate limit problems
Use an external service as could be https://sourcify.dev

In any case, not all the contracts can be found, for example the DAI one can be found in our gateway but not through sourcify

Opened an issue in https://github.com/gnosis/safe-client-gateway/issues/700 in order to centralize this in the gateway/tx service


Fix: sonar issues

Attempting to address some of the sonar issues noted in #7745.
I do now know any typescript to address the the last few items left.

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR)
[x] Title summarizes what is changing
[ ] Has a news entry file (remember to thank yourself!)
[ ] Appropriate comments and documentation strings in the code
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated
[ ] Test plan is updated as appropriate
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed)
[ ] The wiki is updated with any design decisions/details.

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

Codecov Report

Merging #7812 into master will decrease coverage by 0.74%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #7812      +/-   ##
==========================================
- Coverage   59.16%   58.41%   -0.75%
==========================================
  Files         498      498
  Lines       22254    21893     -361
  Branches     3578     3573       -5
==========================================
- Hits        13166    12789     -377
- Misses       8264     8272       +8
- Partials      824      832       +8

Impacted Files
Coverage Δ

...nt/datascience/jupyter/invalidNotebookFileError.ts
0% <0%> (-75%)
:arrow_down:

.../client/datascience/jupyter/jupyterConnectError.ts
0% <0%> (-66.67%)
:arrow_down:

...science/jupyter/jupyterKernelPromiseFailedError.ts
0% <0%> (-50%)
:arrow_down:

...ent/datascience/jupyter/jupyterWaitForIdleError.ts
0% <0%> (-50%)
:arrow_down:

src/client/common/utils/platform.ts
64.7% <0%> (-23.53%)
:arrow_down:

src/client/language/characters.ts
12% <0%> (-21.34%)
:arrow_down:

src/client/testing/codeLenses/main.ts
60% <0%> (-17.78%)
:arrow_down:

src/client/datascience/cellFactory.ts
72.34% <0%> (-17.32%)
:arrow_down:

src/client/common/platform/pathUtils.ts
66.66% <0%> (-5.56%)
:arrow_down:

src/client/linters/pydocstyle.ts
84.61% <0%> (-5.13%)
:arrow_down:

... and 33 more

Continue to review full report at Codecov.

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

@DonJayamanne did you want more changes on this?


feign.RetryableException: Socket closed executing POST URI

I encountered an exception when I tried to call service B from service A
Service A calls service B, and service A prompts that the socket is close. B confirms that it has received the request, processed it and returned the message. What is the reason

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


still problem with notifications

Installed dev version and changed to ntfy.sh
and getting this error:
WRN HTTP Request failed, retrying in 10 seconds... error="Post \"ntfy.sh/rafvesyunudert167\": unsupported protocol scheme \"\"" attempt=1 max_tries=6

What am I doing wrong
frigate:
  server: https://<IP_ADDRESS>:8971
  ignoressl: true
  public_url:
  headers:
  startup_check:
    attempts:
    interval:

  mqtt:
    enabled: true
    server: <IP_ADDRESS>
    port: 1883
    clientid: frigate_notify
    username: mosquitto
    password: passwd
    topic_prefix: frigate

 # cameras:
 #   exclude:
 #     - cam1
 #     - cam2

alerts:
  general:
    title: Frigate
    timeformat: Mon, 02 Jan 2006 15:04:05 MST
    nosnap:
    snap_bbox: true
    snap_timestamp: true
    snap_crop:

  zones:
    unzoned: allow
    allow:
    block:

  labels:
    allow:
     - person
     - car
    block:

  smtp:
    enabled: false
    server: smtp.poczta.onet.pl
    port: 465
    tls: true
    user<EMAIL_ADDRESS>    password: FRZZ-HIWV-70H
    recipient<EMAIL_ADDRESS>    template: "Looks like {{ .Camera }} spotted a {{ .Label }}!!"

  discord:
    enabled: false
    webhook: https://discord.com/api/webhooks/1287448703782617238/YcY5lPL3kzJDi1k2RYwr2oOmUGzcCd-S-E8AHz58ufyAFzS2M?thread_name=RafalFrigate
    template: "Looks like {{ .Camera }} spotted a {{ .Label }}!!"

  ntfy:
    enabled: True
    server: ntfy.sh
    topic: rafvesyunudert167
    ignoressl:
    headers:
    template:

Please try setting your ntfy server url to https://ntfy.sh

thanks for your patience. It is working with ntfy.sh, but still cant send email with smtp protocol.


Wildcards in run: are not expanded

If in the run step some command (when using shell: bash does something like ls foo_* no file is found.

mh, no I feel the problem was how the environment variables are exposed.


[SD-App] Please add Pixel-Fun-M5Stack

https://github.com/neoxharsh/Pixel-Fun-M5Stack

pre-hook:
mv PixelFun.ino Pixel-Fun-M5Stack.ino;
sed -i -e 's/ILI9341/M5Display/g' Mover.cpp; # https://github.com/neoxharsh/Pixel-Fun-M5Stack/issues/1
export inofile=Pixel-Fun-M5Stack.ino;

Adding library requirements:
https://github.com/tomsuch/M5StackSAM

The app has been scheduled for rebuild

The app has been scheduled for rebuild

Compilation of this package failed, it has been labeled as invalid until the source of the problem is identified and addressed


Incompatibility spring boot 2.2.x and spring cloud Hoxton.SR9

Version of the framework
Spring Boot 2.2.10.RELEASE
Spring Cloud Hoxton.SR9
Describe the issue
When starting a spring cloud stream application with Kafka it gives the following error:
***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
    org.springframework.integration.kafka.outbound.KafkaProducerMessageHandler.<init>(KafkaProducerMessageHandler.java:179)
The following method did not exist:
    'boolean org.springframework.kafka.core.KafkaTemplate.isAllowNonTransactional()'
The method's class, org.springframework.kafka.core.KafkaTemplate, is available from the following locations:
    jar:file:/C:/repositorios/org/springframework/kafka/spring-kafka/2.3.11.RELEASE/spring-kafka-2.3.11.RELEASE.jar!/org/springframework/kafka/core/KafkaTemplate.class
It was loaded from the following location:
    file:/C:/repositorios/org/springframework/kafka/spring-kafka/2.3.11.RELEASE/spring-kafka-2.3.11.RELEASE.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of org.springframework.kafka.core.KafkaTemplate

Failed to start bean 'outputBindingLifecycle'; nested exception is java.lang.NoSuchMethodError: 'boolean org.springframework.kafka.core.KafkaTemplate.isAllowNonTransactional()'

which version of spring-kafka is supported?
Attached demo application to reproduce the error.
demo-stream-kafka.zip

To use this with Boot 2.2, you need to override boot's prescribed version of spring-kafka to 2.4.10 - see the spring-kafka documentation.

Hi @garyrussell , thanks for responding so quickly.
I have configured the same project with spring kafka version 2.4.10.RELEASE and I still have the same problem...
Config:
    <properties>
        <spring-cloud.version>Hoxton.SR9</spring-cloud.version>
        <spring-kafka.version>2.4.10.RELEASE</spring-kafka.version>
    </properties>

Error:
***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call a method that does not exist. The attempt was made from the following location:

    org.springframework.integration.kafka.outbound.KafkaProducerMessageHandler.determineSendTimeout(KafkaProducerMessageHandler.java:191)

The following method did not exist:

    'java.util.Map org.springframework.kafka.core.ProducerFactory.getConfigurationProperties()'

The method's class, org.springframework.kafka.core.ProducerFactory, is available from the following locations:

    jar:file:/C:/repositorios/org/springframework/kafka/spring-kafka/2.4.10.RELEASE/spring-kafka-2.4.10.RELEASE.jar!/org/springframework/kafka/core/ProducerFactory.class

It was loaded from the following location:

    file:/C:/repositorios/org/springframework/kafka/spring-kafka/2.4.10.RELEASE/spring-kafka-2.4.10.RELEASE.jar

Oops; sorry about that; that method was added in spring-kafka 2.5; unfortunately, Boot 2.2 is not compatible with that version.
I'll see if back-porting that method to 2.4.11 will solve it.

Please try with the 2.4.11.BUILD-SNAPSHOT.
I have tested it with a simple consumer/producer function and it worked after I back ported a couple of API changes used by spring-integration-kafka 3.3.x.
But, it would be good if you could test the snapshot in your app, before I build the 2.4.11.RELEASE tomorrow.
Thanks in advance.
<dependency>
	<groupId>org.springframework.kafka</groupId>
	<artifactId>spring-kafka</artifactId>
	<version>2.4.11.BUILD-SNAPSHOT</version>
</dependency>
<dependency>
	<groupId>org.apache.kafka</groupId>
	<artifactId>kafka-clients</artifactId>
	<version>2.4.1</version>
</dependency>

...

	<repositories>
		<repository>
			<id>spring-snaps</id>
			<url>https://repo.spring.io/snapshot</url>
			<snapshots>
				<enabled>true</enabled>
			</snapshots>
		</repository>
	</repositories>

I have also back-ported the API changes to 2.3.13.BUILD-SNAPSHOT, so no overrides will be required with the next Boot 2.2.x release (2.2.12, Dec 10th).

Hello @garyrussell ! I have tested the configuration with the demo application that you indicate and it works correctly.
we are waiting for version 2.4.11.RELEASE ;)
Thank you very much for everything.

@ferblaca spring-kafka 2.4.11.RELEASE is now in maven central.

I believe this issue is resolved and can be closed. Feel free to reopen it if needed


pull request for e2e test at 12/08/2016 02:45:01

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Allow vendor change when updating osh deployer

It is safe because it's us who are setting the repositories.
Current error:
Computing distribution upgrade...
5 Problems:
Problem: problem with installed package cloud-init-18.2-lp150.11.1.x86_64
Problem: problem with installed package cloud-init-config-suse-18.2-lp150.11.1.x86_64
Problem: problem with installed package growpart-0.30-lp150.19.1.noarch
Problem: problem with installed package python-rpm-macros-2017.12.22.d9968ab-lp150.52.1.noarch
Problem: problem with installed package python3-jmespath-0.9.3-lp150.33.1.noarch

Problem: problem with installed package cloud-init-18.2-lp150.11.1.x86_64
 Solution 1: install cloud-init-18.2-lp150.1.1.x86_64 (with vendor change)
  obs://build.opensuse.org/Cloud  -->  openSUSE
 Solution 2: keep obsolete cloud-init-18.2-lp150.11.1.x86_64

Risky but fine for me.

@jsuchome can you describe (in the commit msg) why this is useful and what problem this solves please?

@toabctl updated. At least I think this is the issue...

We could probably be more surgical, but does it matter?

Need to split into two tasks, or change the ansible module.

I like JP's improvement, but happy either way

OK, I've used @evrardjp proposal instead

I have tried both in my env (the --alow-vendor-change, and the file with the vendors), and both fail temporarily in the upgrade. I don't know what to do from that on.

How did  --alow-vendor-change fail? I mean after the removal of that refresh...

The problem is not the task itself, is the dup which failed.

is the dup which failed.

Yes, but how? It did not fail because of vendor change, right?

I am double checking with a fresh environment.


Obj-C methods returning structs are generated incorrectly

The example I encountered is that AVPlayer has a method:
- (CMTime)currentTime;

This should (speaking as a client) generate:
CMTime currentTime()

but what it actually generates is
void currentTime(ffi.Pointer<CMTime> stret)

The fact that there is a parameter called stret is exposing deep Obj-C voodoo at the interface layer; I have decades of experience with Obj-C, am familiar with objc_msgSend, and still had to look this up to understand what I was looking at. ffigen should be abstracting away the out param dance and exposing it as a simple return value.

This is working as intended, but I think we can improve it in more recent versions of Dart. Until recently there was no way of doing the equivalent of this in Dart FFI:
// C code.
CMTime result;
currentTime(&result);
return result;

We would have had to malloc the CMTime struct, which is a difficult detail to hide. But now we have the StructAddress extension that can do this:
// Dart code.
final result = CMTime();
currentTime(result.address);
return result;

Since it's only available in Dart 3.5, we'll either need a config flag for this, or bump the minimum SDK version.
@dcharkes Am I understanding StructAddress correctly?

Is there some reason the fallback can't be to copy the struct data into something returnable?
I don't think it's reasonable for the generated code to not match the API it's supposed to mirror, and to require such a deeply unidiomatic-for-Obj-C calling convention from clients. We cannot expect developers who know Dart and Obj-C to understand the pattern of manually mallocing memory for an out param.

The solution using older FFI constructs is:
final Pointer<CMTime> result = calloc<CMTime>();
currentTime(result);
return result;

But that's returning a Pointer<CMTime> instead of a CMTime, and the user has to know to free it when they're done.
A more heavyweight option would be to write a wrapper for CMTime that holds a Pointer<CMTime> and frees it automatically using finalizers. I guess we could make this generic and put it in package:ffi:
class AllocatedPointer<T> implements Finalizable {
  final Pointer<T> ptr;
  AllocatedPointer<T>([Allocator alloc = calloc]) : ptr = alloc<T>() {
    // Set up finalizer to call alloc.free. Probably want to do this using
    // Dart_FinalizableHandle so AllocatedPointer can be sent between
    // isolates. Maybe factor out the shared parts of package:objective_c
    // and package:jni that do this sort of finalization.
  }
}

Since it's only available in Dart 3.5, we'll either need a config flag for this, or bump the minimum SDK version.

We have always been bumping FFIgen to be targeting the latest stable version. So, using .address sgtm.

The solution using older FFI constructs is:
final Pointer<CMTime> result = calloc<CMTime>();
currentTime(result);
return result;

But that's returning a Pointer<CMTime> instead of a CMTime, and the user has to know to free it when they're done.

I understand that; my question was why we can't rename that variable from result to temp, and then copy the data into a final result = CMTime();, and return that.
An extra struct copy would be much better than exposing the current API.

I understand that; my question was why we can't rename that variable from result to temp, and then copy the data into a final result = CMTime();, and return that (after freeing temp).
An extra struct copy would be much better than exposing the current API.

Good point. I hadn't considered that option. Still, as Daco points out, we can just bump the minimum Dart version to 3.5, and use .address.

I ran into some problems implementing this, and now I'm remembering why I wrote it that way 😅. It'd be nice if this .address approach worked:
// Version A
CMTime currentTime() {
  final result = CMTime();
  _objc_msgSend(result.address, this.ref.pointer, _sel);
  return result;
}

One issue that struct.address can only be used in a leaf call, and msgSend is not necessarily a leaf (99% of the time it will be, but it's possible it could invoke a callback that jumps back into Dart). I could avoid that issue by using Stuart's suggestion:
// Version B
CMTime currentTime() {
  final ptr = calloc<CMTime>();
  _objc_msgSend(ptr, this.ref.pointer, _sel);
  final result = CMTime();
  result.field = ptr.ref.field;  // copy all fields...
  calloc.free(ptr);
  return result;
}

But the other issue is that structs can't be allocated like normal objects (The final result = CMTime(); line gives an error). They have to be backed by native memory, so we have to store the data in a calloc'd pointer. We can return the struct by value, but it'd still have to be backed by a calloc'd pointer that someone has to free:
// Version C
CMTime currentTime() {
  final ptr = calloc<CMTime>();
  _objc_msgSend(ptr, this.ref.pointer, _sel);
  return ptr.ref;  // Memory leak.
}

The simplest solution is probably to write a generic calloc'd struct pointer with a finalizer. @dcharkes would it make sense to add something like that to package:ffi? Something like my AllocatedPointer example above. It's better than taking a stret param, but still changes the signature a bit:
// Version D
AllocatedPointer<CMTime> currentTime() {
  final ptr = AllocatedPointer<CMTime>();
  _objc_msgSend(ptr.pointer, this.ref.pointer, _sel);
  return ptr;
}

I guess another approach would be to add an option to ffigen to convert all structs into ordinary Dart classes with the same fields. That a much bigger change. Every time we pass a struct out of or into a method, we'd have to do this conversion dance where we calloc a pointer to the FFI struct and copy the fields across.
// Version E
CMTime currentTime() {
  // _CMTime is an FFI struct. CMTime is an ordinary Dart class with the same fields.
  final ptr = calloc<_CMTime>();
  _objc_msgSend(ptr, this.ref.pointer, _sel);
  final result = CMTime();
  result.field = ptr.ref.field;  // copy all fields...
  calloc.free(ptr);
  return result;
}

Or better yet, the generated Dart object could internally own an AllocatedPointer to the backing struct, and instead of fields it could have getters/setters that delegate to the struct's fields.
// Version F
CMTime currentTime() {
  // CMTime is an ordinary Dart class wrapping an AllocatedPointer<_CMTime>.
  final result = CMTime();
  _objc_msgSend(result.pointer, this.ref.pointer, _sel);
  return result;
}

So I guess the two viable options are D and F. D is a simple, lightweight change. F is a bigger change but is more ergonomic.

calloc'd struct pointer with a finalizer.

Yes, you can

allocate the Pointer with calloc,
create a typed data out of it with a finalizer with https://api.flutter.dev/flutter/dart-ffi/Uint8Pointer/asTypedList.html
then use https://api.flutter.dev/flutter/dart-ffi/Struct/create.html to pass in the typed data,
and return that struct.

That would simply be straight-line code. No need for a AllocatedPointer I think.

But the other issue is that structs can't be allocated like normal objects (The final result = CMTime(); line gives an error).

What about Struct.create()?

What about Struct.create()?

Those can be used in use cases where you need it by-value (pass or return). The only way to access it's .address is via calling a C leaf function (where we can hand out an inner pointer to Dart VM heap objects) - as mentioned by Liam further up.

I wasn't aware of Struct.create. Thanks Daco and Stuart for pointing me to it. That would make version B feasible, and Daco has also outlined another Struct.create option that avoids the hassle of copying fields (sounds like it only does one allocation too, whereas version B with Struct.create would do 2).
// Version G
CMTime currentTime() {
  final ptr = calloc<CMTime>();
  final typedData = ptr.cast<Uint8>.asTypedData(sizeOf<CMTime>(), finalizer: calloc.free);
  // (can't actually directly pass calloc.free as the finalizer, need to load the native free function)
  final result = Struct.create<CMTime>(typedData);
  _objc_msgSend(ptr, this.ref.pointer, _sel);
  return result;
}

It's a bit convoluted, so I'll add a util for creating a struct like this, if I go with this approach.
@dcharkes Does the result struct keep the typedData alive?

@dcharkes Does the result struct keep the typedData alive?

No it does not. So if currentTime from your example gets inlined and then the result is not used, the finalizer could potentially run too early. We don't actually need result to keep typedData alive. Instead we need to keep typedData alive until after _objc_msgSend. This can be easily by only making the typed data after the FFI call.

// (can't actually directly pass calloc.free as the finalizer, need to load the native free function)

How about calloc.nativeFree?
https://github.com/dart-lang/native/blob/c15b4b0187179dc73bc20a4125c501f0f7d9fbf7/pkgs/ffi/lib/src/allocation.dart#L218
// Version G
CMTime currentTime() {
  final ptr = calloc<CMTime>();
  _objc_msgSend(ptr, this.ref.pointer, _sel);
  final typedData = ptr.cast<Uint8>.asTypedData(sizeOf<CMTime>(), finalizer: calloc.nativeFree);
  final result = Struct.create<CMTime>(typedData);
  return result;
}

FYI, it looks like the .asTypedData needs to be ().asTypedList in order to compile.

@dcharkes Does the result struct keep the typedData alive?

No it does not. So if currentTime from your example gets inlined and then the result is not used, the finalizer could potentially run too early. We don't actually need result to keep typedData alive. Instead we need to keep typedData alive until after _objc_msgSend. This can be easily by only making the typed data after the FFI call.

Hmmm. If Struct.create is essentially a view into the TypedData, but the struct doesn't keep the TypedData alive, then the TypedData could be GC'd before the struct, its finalizer would free the memory that backs the struct, and the struct would be pointing into invalid memory. If that's true, this approach isn't going to work. We're trying to return the struct, so it needs to outlive the whole function.

@dcharkes Does the result struct keep the typedData alive?

No it does not. So if currentTime from your example gets inlined and then the result is not used, the finalizer could potentially run too early. We don't actually need result to keep typedData alive. Instead we need to keep typedData alive until after _objc_msgSend. This can be easily by only making the typed data after the FFI call.

Hmmm. If Struct.create is essentially a view into the TypedData, but the struct doesn't keep the TypedData alive, then the TypedData could be GC'd before the struct, its finalizer would free the memory that backs the struct, and the struct would be pointing into invalid memory. If that's true, this approach isn't going to work. We're trying to return the struct, so it needs to outlive the whole function.

Any read of fields of the struct would keep the typed data alive. If the struct fields are never read, and the struct is never passed by value to an ffi call, it can be safely GCed. (Passing the struct by value should pulls out the backing typed data, so that should also keep it alive.)
During _objc_msgSend(ptr it would not be kept if you'd had created the typed data before that call. It's only safe to use asTypedList after you're done using ptr.


Added jquery-application-toastr application customizer sample

Q
A

Bug fix?
No

New feature?
No

New sample?
Yes

Related issues?
None

What's in this Pull Request?
Added jquery-application-toastr application customizer sample

@thechriskent,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

thx Chris, really cool sample.


71 add boss solver

I've added the base Boss SSK model implementation.
This works fine for SMILES small molecule tasks.
There are some issues with the SELFIES tokenization however, given how the implementation handles string spaces via emukit.
Do we want SELFIES support also?

SMILES support works great and should be enough! I imagine that incorporating SELFIES support wouldn't be as easy, or does BOSS have a nice interface for inputting custom alphabets?

There is no custom alphabet support, but we could add som util wrapper for selfies tokenization, based on the official tokenizer. That should already do it.
I see I'm also missing a CI test addition :)


When the method is post, the data can definitely be passed in

If it is an array, this can only go back to the first data（https://github.com/amir-the-h/okex/blob/eb593335af79923723db716bf2d76b92ba4fdcf6/api/rest/client.go#L81）
If it is an array, okex.S2M(req) will also be empty when parsing

Is it an assumption or a fact? Do you have any failures? If yes please provide. Hence I'll close the issue and you can re-open it when you had more information or a solution.

Run this method, the api provides an array and you provide a structure, resulting in an error（https://github.com/amir-the-h/okex/blob/eb593335af79923723db716bf2d76b92ba4fdcf6/api/rest/trade.go#L287）

As I replied earlier I would really appreciate it if you can provide some examples of run time and errors. Otherwise, I can not follow up on this issue by providing theories.


[WIP] Add iDrift case study page, and tweak menus, links, and related landing pages.

This PR is not ready to be merged due to some formatting funkiness. @amanagr could you please take a look? In particular:

I think /for/education has almost the right styling in the hero area, but the subtitle should be the same color as the “Learn how…” text, not the greyer color it currently is.
We should then apply the same styling (font color, line spacing and the two font sizes for text below the title) to all /for/x and /case-study/x pages.
I also noticed that the line break from adding a  to the sub-header (before the line about pricing) disappears in narrow windows. Is this intentional?
The case study links from quotes on /for/x pages have bad indentation on the second line in narrow windows:

@alya this ready for your review.

Awesome, thanks for the quick turn-around! Looks good in terms of all the points above.
As I'm looking at this more, I'm starting to wonder if we're trying to cram too much info into the heros. But I don't think it's a blocker for deploying this.

As I'm looking at this more, I'm starting to wonder if we're trying to cram too much info into the heros. But I don't think it's a blocker for deploying this.

Actually, I think it looks OK everywhere other than /business, which has a tagline that's too long. I'll play with copyediting it.

Merged, after fixing duplicate link markup in one place.  Thanks @alya and @amanagr!!


fix: File GraphicsResourceMap.cs without references removed

PR Details
This seems to be a dead code.
Description
While processing docfx this file was highligted with some broken references. After further investigation it seems the file is not used anywhere across the whole solution.
Related Issue
#1681
Motivation and Context
XML Comments improvements.
Types of changes

[x] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] I have built and run the editor to try this change out.

Thanks !


Can you add usage examples？

It's not convenient to use without examples

Do you need a more practical example than this one https://pkg.go.dev/github.com/tkuchiki/go-timezone#pkg-examples ?

Thank you for you reply.
This is too complicated, I want a primer.
Looking forward to your support.😁

For example, what kind of things do you want?
If you know of any other library examples, please share them with me.


Add notebooks to home page

Add notebooks to home page

Notebooks need not be on the home page as it is not a prominent feature.


Perform more strict validation of all media types

Docker media types inside OCI media types is semantically fine (and Docker sure doesn't care), but technically invalid, so this increases our validation from just the manifest media type all the way down to the config and layer media types also.
See also https://github.com/docker-library/official-images/pull/13950#issuecomment-1411007800 (https://github.com/docker-library/official-images/issues/13983)

$ bashbrew build ubuntu
Building bashbrew/cache:d7486128b40a58cd530279d02b41b6f8e7c873920ec7bc23610b89e2e7beae4b (ubuntu:18.04)
failed oci-import build of "ubuntu" (tags "18.04, bionic-20230126, bionic")
unsupported mediaType "application/vnd.docker.container.image.v1+json" for config descriptor "sha256:5d2df19066aca89df8e5317544a1cb599dc657830184762ff6fdefaaf708db65" (from directory "oci" in commit "4dd8c0973fccaf8699bac0a666f007b9d05c95fd")

Codecov Report

Merging #64 (d4e9c45) into master (82fa443) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##           master      #64   +/-   ##
=======================================
  Coverage   73.10%   73.10%
=======================================
  Files           7        7
  Lines         714      714
=======================================
  Hits          522      522
  Misses        162      162
  Partials       30       30

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

(I also tested this successfully against my older oci-debian example that had the correct media types throughout)


How to validate an background color, the actual assert is not reading the value to compare

Hello guys,
I´m trying to validate the color from one element using the AssertAttributeValue but it´s not working.
Can you help me to use this?
I´m trying to use the sample from opentest but no success.
Steps to reproduce:
Access web site and read the css to validate
Tried to use the value to validate but it´s not working due to the log is showing that the color is null.
Script that I´m using:
- description: Initialize Kiosk Np# in chrome or chromium browser
  action: org.getopentest.selenium.NavigateTo
  args:
    url: http://www.uol.com.br

- description: Read the "color" property of the description text
  action: org.getopentest.selenium.ReadCssProperty
  args:
    locator: { xpath: "//*[@id='corpo']/div[1]/div/div[1]/div[1]/div[1]/div[2]/a/h1" }
    property: color

- description: Log the color value
  script: |
    $log("The color is: " + $output.value);

- description: Validate the "color" of second input box
  action: org.getopentest.selenium.AssertAttributeValue
  args:
    locator: { xpath: "//*[@id='corpo']/div[1]/div/div[1]/div[1]/div[1]/div[2]/a/h1" }
    attribute: color
    valueMatches: rgba(51, 51, 51, 1)

LOG
Executing action org.getopentest.selenium.ReadCssProperty with arguments<EMAIL_ADDRESS>14:13:09 | WEB | DEBUG: The output values from action org.getopentest.selenium.ReadCssProperty were: >>>>> value = "rgba(51, 51, 51, 1)"
14:13:09 | WEB | Evaluating action 3/4 (script action) in segment 1 (Log the color value)...
14:13:09 | WEB | TRACE: Initializing action org.getopentest.base.ScriptAction...
14:13:09 | WEB | Executing action org.getopentest.base.ScriptAction (no arguments were provided)...
14:13:09 | WEB | The color is: rgba(51, 51, 51, 1)
14:13:09 | WEB | Evaluating action 4/4 (org.getopentest.selenium.AssertAttributeValue) in segment 1 (Validate the "color" of second input box)...
14:13:09 | WEB | TRACE: Initializing action org.getopentest.selenium.AssertAttributeValue...
14:13:09 | WEB | Executing action org.getopentest.selenium.AssertAttributeValue with arguments {"valueMatches":"rgba(51, 51, 51<EMAIL_ADDRESS>14:13:09 | WEB | TRACE: ... html-report updated for report-fatal with error-message
14:13:11 | WEB | DEBUG: Alert is NOT present... Capture screenshot of the application
14:13:12 | WEB | Copied screenshot file to C:\GIT\opentestfiles\Actor_WEB.\ExecutionResults\1595524383\WEB_ValidarCor_2020-07-23_14-13-09.png
14:13:12 | WEB | Captured screenshot at C:\GIT\opentestfiles\Actor_WEB\out\screenshots\SID1595524383_WEB_T01_SG01_ST04_after.png
14:13:12 | WEB | TRACE: ... html-report updated for 'report-step'
14:13:12 | WEB | ERROR: Execution Terminated - EXECUTION TERMINATED AT :: [report-description not provided]org.getopentest.selenium.AssertAttributeValue -->> valueMatches - rgba(51, 51, 51, 1)-->> attribute - color-->> locator - {xpath=//*[@id='corpo']/div[1]/div/div[1]/div[1]/div[1]/div[2]/a/h1}Detailed Exception...java.lang.RuntimeException: Failed to validate the value of attribute "color". The attribute's value was "null".

CSS properties are not the same with element attributes. For example, in this HTML element

My heading 1

class and style are attributes, but colorand font-size are CSS properties.
There is no assert keyword available out-of-the-box for CSS properties, but you can obtain the same effect using the $fail function:
- description: Read the "color" property of the heading
  action: org.getopentest.selenium.ReadCssProperty
  args:
  locator: { xpath: "//*[@id='corpo']/div[1]/div/div[1]/div[1]/div[1]/div[2]/a/h1" }
  property: color

- description: Validate color
  script: |
    if ($output.value != "rgba(51, 51, 51, 1)") {
        $fail(
            "We expected the color to be rgba(51, 51, 51, 1), " +
            "but we found " + $output.value);
    }

@adrianth Is there a way to check the color of elements in Android interfaces by checking the properties of their parent class? Could we create an AssertElementColor like we have AssertElementText?


Bump minimum node version in build

Vercel is now actively blocking builds / deployments that are still using the 12.x runtime, the main action runs but if there is anything else that possible to test please let me know.

I don't believe these needs a version bump in the repo entirely, as I do believe this build shouldn't break most people's deployments if they're trying to build assets.

Hi @robertdrakedennis. I've to talk with @leerob, because after moving my repo under vercel-community I've lost my rights to push and merge. Sorry for delay, I will fix it asap.

no prob! feel free to close this if you need to


Service Side vs Client Side

First of all, what you guys(the Blazor and the Mono team) are doing is amazing, keep it up!
I do believe we should weigh out the pro's vs cons on short- and long term. Since we can use .NET Core on the server side now -which is proven to be performant and stable- we don't have to worry about the bugs, feature requests and release pace of the Mono team. Therefore we might want to consider to first focus on the server side and once Mono to .WASM is stable enough we should take on the client-side, since we can focus on Blazor itself and be less dependent on the release pace of Mono.
As a final note, there are use cases for both implementations but let's use something that is stable and move Blazor itself forward without having to worry about some core dependencies.
Additional:
Is there a template we can play with for the Server Side?
Any idea when the 'experimental' phase could be over? 2-3 months, a year, two years?

I don't understand : is asp.net core not enough for server side ? the whole point of blazor is client side isn't it ?

Given you could run the Blazor process both client side (browser) and server side both have some advantages as pointed out in recent asp net live community video (see:  https://youtu.be/CWuIz9khK-o?list=PL1rZQsJPBU2StolNg0aqvQswETPcYnNKL&t=3134 ). I really like the notion that you have a choice. I cannot say I have a preference other than I would like to be able to do both in a single app. For example there are some pages where I might want to protect the presentation code from prying eyes (render them server side) but other cases where is does not matter and I want the pages to render super fast or be available offline. I guess if I had to pick I would choose client side first because server side is already available for C# and I really wan the client side programming xp (e.g. Offline PWA). My $.02...

As @chassq I could see a hybrid solution to be a good selling point that a Blazor feature could do that no other SPA could do without some more configuration.
Though that hybrid solution hangs on the how easy it is to setup seamlessly without much setup. Maybe through the router or so where you can set whether you want to render this particular route on the server only or not.
The default should be client however, but there are some cases that server side rendering can be good. Sensitive pages like a payment page wherein you don't want your validation logic being sent to the client or not want to duplicate validation for client and server, while still keeping most of the site client-side would be a good candidate.

I am sorry, but I can't see vision for a server side Blazor. I have a couple of problems with it.

It feels wrong
The whole point of a SPA is to avoid server side rendering. It feels wrong to build a SPA that is doing just SSR when we have very capable frameworks from others and Microsoft than can do that.

Latency issues
Anything that will go through the network stack will be super slow already. Then add to that the distance between client and server. Doesn't matter how fast your connection is. It will not be fast enough. Imaging sending every click and scroll event to the server for processing? Only good for Intranet apps.

Chattiness
It is not unusual for one person to have 20-30 browser tabs open at any given time. Imaging all of those connections to a Blazor server, then multiply that be 100 people. IT departments would be banning Blazor apps left right and center for killing bandwidth.

Maintain client state on server doesn't scale well.
What are we going to do? pass around the viewstate? We tried that already (webforms) and the approach was discredited.

Forced to use a Microsoft back-end
This is in Microsoft's interest and I understand this, but most people would be hesitant just because of lock-in fear. Not everyone will want to use a .NET Core back-end.

Dog fooding
I think the effort would be better spent trying to get mono wasm up to par rather than going SSR for .net core.

The team is doing a great job btw. This is not a knock on the work you are doing. You asked for our feedback, so we are giving.

@humbersoft Some very interesting thoughts!

@humbersoft I totally agree, especially with point 6

@humbersoft
It feels wrong
The whole point of a SPA is to avoid server side rendering. It feels wrong to build a SPA that is doing just SSR when we have very capable frameworks from others and Microsoft than can do that.
The point of spa is to not have full page refresh, this in not that
Latency issues
Anything that will go through the network stack will be super slow already. Then add to that the distance between client and server. Doesn't matter how fast your connection is. It will not be fast enough. Imaging sending every click and scroll event to the server for processing? Only good for Intranet apps.
If I sent a message that says I clicked this and then the server works out what would change and then send just a change payload for the blazor.js client to render
Chattiness
It is not unusual for one person to have 20-30 browser tabs open at any given time. Imaging all of those connections to a Blazor server, then multiply that be 100 people. IT departments would be banning Blazor apps left right and center for killing bandwidth.
If I have 20/30 tabs open I am only interaction with one of them at a time as I have only one mouse_
Maintain client state on server doesn't scale well.
What are we going to do? pass around the viewstate? We tried that already (webforms) and the approach was discredited.
Did you watch the video or just jump on this tread and say this? this is a sockets thin client approach so no viewstate , no postback, just a message send to server side Blazor to say x clicked and then a change diff returned to blazor.js to render
Forced to use a Microsoft back-end
This is in Microsoft's interest and I understand this, but most people would be hesitant just because of lock-in fear. Not everyone will want to use a .NET Core back-end.
I appreciate this but if I am writing my code in c# I am not bothered about a Microsoft lock-in even if this was true, but this runs with asp.net core which is not limited to Microsoft platform
Dog fooding
I think the effort would be better spent trying to get mono wasm up to par rather than going SSR for .net core. Why?

I love the idea of having both and would love to have the ability to run on the server, installed as a desktop app or running client side.
Having the server-side option first as mono-wasm matures sounds great to me.

Also I'm not sure if people are grasping the concept of how server Blazor would work. It is vastly different then asp.net mvc or webforms. It is a lot more like Wisej or Ooui (without wasm) or like vaadin in the java world.

Thanks for the feedback on this everyone! Our focus continues to be on building a client-side .NET web UI framework, but this feedback helps us understand how useful it would be if Blazor also supported running server-side.
Since this issue is more of a discussion then a concrete work item for the product I'm going to go ahead and close it. Feel free to post more comments if you have additional feedback to share.

I think it very useful to have server-side eventually! Again to render html that maybe needs more privacy (e.g. protecting source code IP) may be one good scenario. Could be very valuable in making the overall product appealing to a wider developer community. Bottom-line for me is I like having the choice!

Hey @danroth27 , Was wondering if when we have discussion threads like this if you might consider not closing the issue but instead tag it as maybe "discussion" so that it stays open but people know it is now just a running discussion than a "real" issue? It would keep the issue on the default list for a longer time and may get more activity. Thanks!

Yes, I have to take back what I said about server-side. I thought about server-side in the "old way", you know do action on each web request and all that. But this is an entirely "new" way using server-side, no need to wait for each request. Do everything via websockets, this is wonderful. I think you are on to something here. Keep up with the good work Blazor people!!

Just FYI my company is using Wisej which is similar to how server-side Blazor works as far as passing messages over websocket. I'm currently sitting in utah and the website is running in the Australia azure data center and it feels plenty responsive.

IMO, the most important point of the server-side option is the ability to fully use the debugger during development.


Add support for Tools.LoadFile retry

With this change, by default, if a non-local request returns a status of 0, Tools.LoadFile will automatically retry using an exponential backoff strategy with max retries of 3 and a starting interval of 500ms.
This can be overridden by replacing Tools.DefaultRetryStrategy or passing in a different strategy to Tools.LoadFile. The strategy can be replaced with RetryStrategy.ExponentialBackoff passing in non-default parameters or a custom strategy.
The onRetry callback can be used to track requests like in glTFLoader.

really cool!

Would you mind fixing the conflicts ? (I had to merge several PR :))

No problem. Will get right on it.

I have resolved the merge conflicts.


tagged unions are modeled wrong in the AST

Unions in the AST are modeled as if they were structs which confounds symmetrical parsing logic since each field is treated as a data member instead of an alternate representation of a single data member. Tagged unions should become structure types containing a single field that is an anonymous-union compound type. This compound type's fields would be the alternate representation of that field.
Proposed

My point is the TaggedUnionType contains a set of fields that must be serialized and deserialized whereas the UntaggedUnionType contains a set of fields only one of which will be serialized and deserialized. This means that, for the purposes of serialization, the untagged union acts as one-type-at-a-time which suggests it is not a composite?

Untagged unions are not special enough to warrant a new node directly under Serializable in the data type model. Let's say that "one-type-at-a-time" is just a special mode of composition.

Well, if you don't agree that a TaggedUnion is a structure with a single tag field and a single union field then this whole issue is moot. To me a tagged union is:
struct MyTaggedUnion
{
    unsigned tag;
    union
    {
        type0 field0;
        type1 field1;
    } my_union;
};

such that my_union is another type of Attribute rather than being a composite.

Okay, let's try it this way.

Pleasure doing business with you.


required field many2one not working

why remove the '*' for required fields? i think better to leave it.


[Bug]: Allow setting username and password via kubernetes secrets

Contact Details
No response
What happened?
It's not really bug, but a suggestion for the chart.
When the chart is installed for the first time it has no username and password so you can just log in.
It would be nice to have an optional values setting for setting the username and password.
Ideally it would be possible to set them using both env vars and MEMGRAPH_PASSFILE (which I think is a bit more secure).
Maybe something like this (in values.yaml)
secret:
	secretName: memgraph-secret
	usernKey: MEMGRAPH_USER
	passwordKey: MEMGRAPH_PASSWORD
	passfileKey: MEMGRAPH_PASSKEY

If secretName is defined then:

If passFileKey is provided - its contents are mounted somewhere into the pod (say /secrets/MEMGRAPH_PASSFILE) and the env var MEMGRAPH_PASSFILE is set to that path.
Otherwise the usernameKey and passwordKey secret values are mounted into the MEMGRAPH_USER and MEMGRAPH_PASSWORD env vars respectively.

Chart type
Standalone
Chart version
0.1.0
Environment
Amazon Web Services
Relevant log output
No response

Hi @alex-linx, thanks for providing this feedback 🙌, we will probably add this in following weeks.

Hi @antejavor, any updates?

I can open a PR for the change (excluding passfileKey)

Hi @aqeelat, thanks for reaching out 🚀 , I will fix it in the upcoming release.  If you have a template ready feel free to open a PR so we will include it.


Implement Flask CLI instead of Flask Script

Implement Flask CLI instead of Flask Script

Flask CLI
Migrating from Flask-Script to the New Flask CLI

Done


ambiguity of manifest.json in Combined Image JSON + Filesystem Changeset Format

https://github.com/s-urbaniak/image-spec/blob/master/serialization.md#combined-image-json--filesystem-changeset-format specifies a couple of files, none of which have any media types defined:

VERSION (plain text file) schema version of the following json file
json (json file), pointing to a "version 1" metadata format of the, which show 404.
repositories (json file)
layer.tar (layer tar file)
manifest.json (json file) (is this the "combined Image JSON"?)

It is not clear to me how this relates to the Image Manifest file (https://github.com/s-urbaniak/image-spec/blob/master/manifest.md#image-manifest) and how we can reference a combined image from the "Image Manifest".
Also it is unclear to which of the above files the specified application/vnd.oci.image.serialization.combined.v1+json media type points to, the +json indicates a JSON format, is it manifest.json?

xref https://github.com/opencontainers/image-spec/issues/56

This is unclear to me too.

@stevvooe Can you help clear this one up?

@philips @vbatts This is the specification for the "docker save" format.
Here is what they are, in relation to docker:

The json file is just the image config corresponding to the specified layer. Used pre 1.10
VERSION is the version of the json file, which is just as useful as json itself. Used pre 1.10.
repositories links names to tags. Used pre 1.10.
manifest.json identifies configs by tag at the top-level in 1.10+. The file manifest.json has nothing to do with the https://github.com/s-urbaniak/image-spec/blob/master/manifest.md#image-manifest.
<id>.json are the 1.10 updated image configurations

In relation to OCI, there are few options:

Try to adopt everything here. It is not wildly impossible, but there are several layers. Basically, you have a pre-1.10 layer (json, repositories) and a post-1.10 layer (manifest.json, <id>.json) that need to be handled.
Specify 1.10 layer, removing json, et al.
Diverge from docker save approach and use something similar to that discussed in #38.

I hope that helps.
I am not sure where I lean here, but likely more towards the 2-3 spectrum.

@s-urbaniak can you take @stevvooe and offer a cleanup PR?

I think we should just drop the "combined mime-type". The format has too much history and has conflicting terminology like a "manifest.json" as @stevvooe pointed out. I am going to put up a PR to drop it and file an issue for a "image layout" (see https://github.com/opencontainers/image-spec/issues/92)

#92 is merged. Closing this issue out.


[SMALLFIX]Java 8 Improvement: replace anonymous type with lambda in alluxio.client.file.RetryHandlingFileSystemMasterClient#getNewBlockIdForFile

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17434/
Test PASSed.

@FanvelChen The change looks good to me, please sign the contributor license agreement so we can merge this pull request


Everything should be in debug mode when --debug is set

Description
--debug flag should also cause underlying source & destination to have a debug log level
Type of change

[ ] Bug fix
[X] New feature
[ ] Breaking change

@willmarks should I merge?


Problem with the Custom Download for Foundation for Sites 5.5.3

When you customize the Max-Width to 75, for example, then click download, the package that you get is somehow corrupted. The Row class comes out as "75" instead of "75rem" (like it would for the default download of 62.5rem). There may also be issues with the customizer and width settings for the Top Bar...

The Foundation 5 customizer has been replaced with the Foundation 6 customizer.