PermissionError: [Errno 13] Permission denied: 'geckodriver.log'

File "C:\Users\45239\AppData\Roaming\Python\Python310\site-packages\srtranslator\translators\deepl.py", line 60, in init
self.driver = create_driver(proxy)
File "C:\Users\45239\AppData\Roaming\Python\Python310\site-packages\srtranslator\translators\selenium_utils.py", line 48, in create_driver
driver = webdriver.Firefox(proxy=proxy)
File "C:\Users\45239\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\firefox\webdriver.py", line 191, in init
self.service = Service(executable_path, service_args=service_args, log_path=service_log_path)
File "C:\Users\45239\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\firefox\service.py", line 48, in init
log_file = open(file, "a+", encoding="utf-8")
PermissionError: [Errno 13] Permission denied: 'geckodriver.log'

That's a Selenium issue, probably your firefox install is an older version?  Check this

I tried updating Firefox, same error. Strange. It worked just a few days ago.

If you didn't upgraded selenium or firefox and it just stopped working, maybe you could have that file open? (I don't think so, but just in case).

I need to run Blender as admin, and then there is no error. Typically, that is only needed for installing python modules, but not in this case, I guess?

It shouldn't be a problem to run without admin permissions. It really doesn't install nothing. Somehow 'geckodriver.log' file is getting open for something else while script is running or is being created with superuser role.
Maybe could be this last one. If you already have a geockodriver.log file but was created by admin it won't let you edit it with a regular user... Try to delete that file (it could be in the library folder or subtitles folder) and run the script from blender without admin. It could work, I really don't know why this is happening and can repodruce in my machine.

It seems to be working in Blender 3.6 alpha, so it might be related the version of python which comes with Blender, but I haven't digged deep into that stuff.  I'll just close this report for now.


[1865] add audits to mcb

Context
Refactor to make adding audits easier
Changes proposed in this pull request
Guidance to review
Checklist

[ ] Make sure all information from the Trello card is in here
[ ] Attach to Trello card
[ ] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 [M] add/revoke god users with mcb

I personally disagree with the CodeClimate checks. Chance my view.


Can't login on my Electrolux account

I am trying to login on my Electrolux account from this integration, but I am unable to. I even removed any especial characters from my password to prevent issues with unescaped characters, but no luck. I logged in and out from the Electrolux app several times just to make sure my password is correct.
This is the log message I am getting:
Logger: purei9_unofficial.util
Source: /usr/local/lib/python3.10/site-packages/purei9_unofficial/util.py:28
First occurred: 23:37:58 (6 occurrences)
Last logged: 23:49:57

Giving up due to no left retries. Wrong credentials?

Any suggestions on how can I dig for more information about this issue?

Well, let us dig into that!
I've released a new version of the integration 1.3.1 that changes how the integration fetches and updates data from the API. Try installing that and see if that resolves the issue.
If that does not solve it, then add the following to your configuration.yaml file:
logger:
  default: warn
  logs:
    custom_components.purei9: debug
    purei9_unofficial: debug

After that, try again, and then post your logs. If you don't want to post your logs publically, then you can send it to nikl [dot] ekman [at] gmail [dot] com.

Thanks for the reply! Here are the logs:
2022-12-22 09:59:02.889 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP POST https://api.delta.electrolux.com/api/Clients/Wellbeing
2022-12-22 09:59:06.417 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP 200 <Response [200]> (sensitive data not shown)
2022-12-22 09:59:06.417 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP POST https://api.delta.electrolux.com/api/Users/Login
2022-12-22 09:59:08.172 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP 200 <Response [200]> (sensitive data not shown)
2022-12-22 09:59:08.173 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP GET https://api.delta.electrolux.com/api/Domains/Appliances
2022-12-22 09:59:09.297 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP 200 <Response [200]> [{"applianceName":"Geoffrey","created":"2022-10-01T13:02:13.8254392Z","id":1271455,"modelName":"PUREi9","timeZoneStandardName":null,"pncId":"900921353101005641100106","domainId":790979}]
2022-12-22 09:59:09.298 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP GET https://api.delta.electrolux.com/api/AppliancesInfo/900921353101005641100106
2022-12-22 09:59:10.540 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP 404 <Response [404]> {"code":404000,"codeDescription":"NotFound: Could not find the resource.","information":"There is no ApplianceInfo with the requested pnc","message":""}
2022-12-22 09:59:10.540 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP GET https://api.delta.electrolux.com/api/AppliancesInfo/900921353101005641100106
2022-12-22 09:59:11.765 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP 404 <Response [404]> {"code":404000,"codeDescription":"NotFound: Could not find the resource.","information":"There is no ApplianceInfo with the requested pnc","message":""}
2022-12-22 09:59:11.766 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP GET https://api.delta.electrolux.com/api/AppliancesInfo/900921353101005641100106
2022-12-22 09:59:13.016 DEBUG (SyncWorker_1) [purei9_unofficial.util] HTTP 404 <Response [404]> {"code":404000,"codeDescription":"NotFound: Could not find the resource.","information":"There is no ApplianceInfo with the requested pnc","message":""}
2022-12-22 09:59:13.016 ERROR (SyncWorker_1) [purei9_unofficial.util] Giving up due to no left retries. Wrong credentials?

Based on a quick packet capture I did, looks like they have different API servers based on different regions. I mean, I am in Brazil and the only API related requests were to the domain: api.ocp.electrolux.one. I tried looking further with an effortless MitM, but the app I was using failed.
I still want to figure this out even if I must write my own library to make it work (if the API are not the same). What tool did you use to see through the traffic encryption?

Thanks for the logs! Seems unnecessary that you create your own integration, it's better if we can focus all our energy on one. I haven't reverse-engineered the API, it's @Phype work. 🙂
Interesting that you still have the robot registered in this API, even though you cannot seem to get all the information that you need.
This integration is using Phype/purei9_unofficial in order to communicate with the API, and that library has a nice CLI interface. If I were you, I'd download that library and switch the API URLs (and probably the client ID/secret as well) and see if that works. Hopefully, the APIs are the same and you could send a PR to Phype/purei9_unofficial to allow for configuring the API URL. If that was available to me, I could just add that as a configuration.

Thank you for the quick response!
Unless I am doing something wrong, it looks like the API structure is different (or at least the URI base path is).
Yesterday, I tried a man-in-the-middle strategy on the Electrolux app to figure out what is going on, but the app shows an offline screen and stops sending data every time it detects my proxy. I will still try fiddling with it to discover the source of the problem. But for now, I will take a holiday break.
Thank you so much for your attention.

Happy to be of assistance!
I'm going to close this issue as it's currently hard for me to resolve it.
If you understand the API and create a Python library for it then I'd be happy to include it in this integration by making it configurable. I've never tried it, but maybe setting up an Android emulator on your computer, together with Wireshark, would work.
Merry Christmas and happy new year! 🎄

Which app are you using? Given that Electrolux has provided three different apps throughout the Pure i9 lifetime (it's a mess), I'm just curious which one is in use in Brazil

The name is just "Electrolux", the package name is com.electrolux.oneapp.android.electrolux.
Since I also had to migrate from Electrolux Wellbeing, I am guessing it's the same app.

Yes, that's the same.
Interesting that they are providing APIs with different structures for different regions. 🤔


box plot with Dates

Hello - I'm trying to get a box plot going where my Y axis is going to be Dates. I have tried to strip dows to the bare minimum and I only see "No Data Available".
Here is the plunk : http://plnkr.co/edit/dLBxEU?p=preview
I just want to see some Dates and I can go forward from there.
Thanks!

It requires Q1, Q2, Q3. Don't know if it's what you want or not, but check this:
http://plnkr.co/edit/ICRdDI?p=preview

Hi, @krispo is it possible to replace Q1, Q2, Q3 with anything like A, B, C?


Customize style for relationship

Thank you for this amazing widget.
Is there a way to customize the style for edge (relationship)? For example changing from solid to dotted line or bold the display text.

Currently, edges can only be changed wrt. color and thickness_factor, e.g.
g.add_relationship_configuration('ACTED_IN', thickness_factor=5, color='#AC94F4')

where both mappings could be lambdas as well.
Text styling supports the following properties: fontSize, color, backgroundColor, position, maximumWidth, maximumHeight, wrapping and textAlignment (for more details on the different properties see this notebook).
This works for both, nodes and edges, e.g.
g.add_node_configuration('Movie', text= lambda node : {
        'text': datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
        'backgroundColor': '#5C268B',
        'fontSize': 20,
        'color': '#FF6EC7',
        'position': 'north',
        'maximumWidth': 130,
        'wrapping': 'word',
        'textAlignment': 'center'
    })

Unfortunately, the two options you are looking for are currently not supported. However, we may add them in the future, therefore keeping this open as feature request.

@fskpf Thanks for the intuitive response. How about setting default layout? The hierarchic works perfectly in my case but I can't find a way to set it by default.

This is a missing feature for the yfiles-jupyter-graphs-for-neo4j despite the available functionality in the core yfiles-jupyter-graphs widget (see this notebook).
That said, you can work around this and set the layout on the (private) core field like so:
g.show_cypher("MATCH (s)-[r]->(t) RETURN s,r,t LIMIT 20")
g._widget.hierarchic_layout()

The above-mentioned notebook contains the different available layout calls.
The important part here is that you must set the layout directly after the show_cypher call in the same cell.

Fixed in v1.4.2. The layout can now be specified through a layout kwarg on the instance and specifically for each show_cypher call.


New Question Types

Added an itemType field to Question class.
Format field in Question class now has more values than before (to allow for bool, string, etc.)
In UserResponse, instead of having an answerBoolean, answerString, answerDecimal, etc. I've combined them all into a single field called ResponseType.
ResponseType is an abstract class, extended as ResponseBoolean, ResponseDecimal, etc. Each with a single attribute, value.
This should still enforce proper formatting, but only needs a single field in UserResponse.
As long as you agree with these changes, I can update how I parse it back together for the QuestionnaireResponse.

Some of these questions actually accept multiple response types. A good example is Money & Resources, question 14, which asks a lot of yes/no questions related to food insecurity, then optionally has a place for yes/no and the ability to write in an other slot. How do you suggest we address this?

I'll have to look at how often that happens, and in what combinations. My first two thoughts were:

I could create an other attribute that's just a String for all responseTypes, so there's always a freeText option if you need it
I could see which types of responses have that as an option, and just include that field in those extended classes

Although, looking through the prapareQuestionnaire, it doesn't look like they give the option to write anything
{
  "valueCoding": {
    "code": "LA46-8",
     "display": "Other"
  }
},

Even though they should, so I think we should still plan for it. I'll have to think on how to do it though.


Building via Docker fails

Hi,
I tried this Dockerfile to build:
FROM caddy:2-builder AS builder

RUN xcaddy build --with github.com/samvaughton/caddy-netlify-redirects/v2

FROM caddy:2

COPY --from=builder /usr/bin/caddy /usr/bin/caddy

But it fails with this:
 => ERROR [builder 2/2] RUN xcaddy build --with github.com/samvaughton/caddy-netlify-redirects/v2                                                                                53.6s
------
 > [builder 2/2] RUN xcaddy build --with github.com/samvaughton/caddy-netlify-redirects/v2:
#7 0.521 2022/01/14 15:58:01 [INFO] Temporary folder: /tmp/buildenv_2022-01-14-1558.794503185
#7 0.521 2022/01/14 15:58:01 [INFO] Writing main module: /tmp/buildenv_2022-01-14-1558.794503185/main.go
#7 0.522 2022/01/14 15:58:01 [INFO] Initializing Go module
#7 0.523 2022/01/14 15:58:01 [INFO] exec (timeout=10s): /usr/local/go/bin/go mod init caddy
#7 0.529 go: creating new go.mod: module caddy
#7 0.530 go: to add module requirements and sums:
#7 0.530 	go mod tidy
#7 0.532 2022/01/14 15:58:01 [INFO] Pinning versions
#7 0.532 2022/01/14 15:58:01 [INFO] exec (timeout=0s): /usr/local/go/bin/go get -d -v<EMAIL_ADDRESS>#7 0.692 go: downloading github.com/caddyserver/caddy/v2 v2.4.6
#7 44.13 go: downloading github.com/caddyserver/certmagic v0.15.2
#7 44.13 go: downloading github.com/google/uuid v1.3.0
#7 44.13 go: downloading github.com/prometheus/client_golang v1.11.0
#7 44.22 go: downloading go.uber.org/zap v1.19.0
#7 44.33 go: downloading golang.org/x/term v0.0.0-20210503060354-a79de5458b56
#7 44.43 go: downloading github.com/klauspost/cpuid/v2 v2.0.9
#7 44.43 go: downloading github.com/libdns/libdns v0.2.1
#7 44.43 go: downloading github.com/mholt/acmez v1.0.1
#7 44.48 go: downloading github.com/miekg/dns v1.1.43
#7 44.61 go: downloading golang.org/x/crypto v0.0.0-20210915214749-c084706c2272
#7 44.61 go: downloading golang.org/x/net v0.0.0-20210913180222-943fd674d43e
#7 44.64 go: downloading github.com/beorn7/perks v1.0.1
#7 44.68 go: downloading github.com/cespare/xxhash/v2 v2.1.1
#7 44.74 go: downloading github.com/golang/protobuf v1.5.2
#7 45.41 go: downloading github.com/cespare/xxhash v1.1.0
#7 45.66 go: downloading github.com/prometheus/client_model v0.2.0
#7 45.67 go: downloading github.com/prometheus/common v0.26.0
#7 45.76 go: downloading github.com/prometheus/procfs v0.6.0
#7 45.83 go: downloading golang.org/x/sys v0.0.0-20210915083310-ed5796bab164
#7 45.86 go: downloading go.uber.org/atomic v1.7.0
#7 45.87 go: downloading go.uber.org/multierr v1.6.0
#7 46.02 go: downloading google.golang.org/protobuf v1.27.1
#7 47.17 go: downloading github.com/matttproud/golang_protobuf_extensions v1.0.1
#7 47.18 go: downloading golang.org/x/text v0.3.7
#7 52.14 go get: added github.com/beorn7/perks v1.0.1
#7 52.14 go get: added github.com/caddyserver/caddy/v2 v2.4.6
#7 52.14 go get: added github.com/caddyserver/certmagic v0.15.2
#7 52.14 go get: added github.com/cespare/xxhash/v2 v2.1.1
#7 52.14 go get: added github.com/golang/protobuf v1.5.2
#7 52.14 go get: added github.com/google/uuid v1.3.0
#7 52.14 go get: added github.com/klauspost/cpuid/v2 v2.0.9
#7 52.14 go get: added github.com/libdns/libdns v0.2.1
#7 52.14 go get: added github.com/matttproud/golang_protobuf_extensions v1.0.1
#7 52.14 go get: added github.com/mholt/acmez v1.0.1
#7 52.14 go get: added github.com/miekg/dns v1.1.43
#7 52.14 go get: added github.com/prometheus/client_golang v1.11.0
#7 52.14 go get: added github.com/prometheus/client_model v0.2.0
#7 52.15 go get: added github.com/prometheus/common v0.26.0
#7 52.15 go get: added github.com/prometheus/procfs v0.6.0
#7 52.15 go get: added go.uber.org/atomic v1.7.0
#7 52.15 go get: added go.uber.org/multierr v1.6.0
#7 52.15 go get: added go.uber.org/zap v1.19.0
#7 52.15 go get: added golang.org/x/crypto v0.0.0-20210915214749-c084706c2272
#7 52.15 go get: added golang.org/x/net v0.0.0-20210913180222-943fd674d43e
#7 52.15 go get: added golang.org/x/sys v0.0.0-20210915083310-ed5796bab164
#7 52.15 go get: added golang.org/x/term v0.0.0-20210503060354-a79de5458b56
#7 52.15 go get: added golang.org/x/text v0.3.7
#7 52.15 go get: added google.golang.org/protobuf v1.27.1
#7 52.16 2022/01/14 15:58:53 [INFO] exec (timeout=0s): /usr/local/go/bin/go get -d -v github.com/samvaughton/caddy-netlify-redirects/v2
#7 52.75 go: downloading github.com/samvaughton/caddy-netlify-redirects v0.2.3
#7 52.76 go: downloading github.com/samvaughton/caddy-netlify-redirects/v2 v2.0.0-20210723071433-258629b4667e
#7 52.87 go get<EMAIL_ADDRESS>parsing go.mod:
#7 52.87 	module declares its path as: github.com/samvaughton/naddy/v2
#7 52.87 	        but was required as: github.com/samvaughton/caddy-netlify-redirects/v2
#7 52.88 2022/01/14 15:58:53 [FATAL] exit status 1
------
executor failed running [/bin/sh -c xcaddy build --with github.com/samvaughton/caddy-netlify-redirects/v2]: exit code: 1
task: Failed to run task "docs:serve": task: Failed to run task "docs:build-server": exit status 1

Can you help?
Thanks!

Hey, thanks for the super fast response!
Building works now, but I'm getting this error now:
{"level":"info","ts":1642179547.5223627,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile","config_adapter":"caddyfile"}
run: adapting config using caddyfile: parsing caddyfile tokens for 'order': /etc/caddy/Caddyfile:2 - Error during parsing: netlify_redirects is not a registered directive

Here's my Caddyfile:
{
    order netlify_redirects before redir
}

:8080 {
    netlify_redirects {
       import /usr/share/caddy/_redirects
    }
    root * /usr/share/caddy
    file_server
}

Nevermind, I was running the wrong Docker image, sorry! 🤦 🤦 🤦


Warning: Failed to resolve component: demo-node-config-panel

Hi, I know this might actually be a Vue or element-plus issue instead of something about this library, but I'm able to render all other element tabs except <demo-node-config-panel>, and I wasn't able to find any useful info online about how to properly register this element.
In my main.ts I have:

import { createApp } from 'vue'
import App from './App.vue'
import VNetworkGraph from "v-network-graph"
import "v-network-graph/lib/style.css"
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'

const app = createApp(App)

app.use(ElementPlus)
app.use(VNetworkGraph)
app.mount("#app")

After directing myself to some root documents, I found that <demo-node-config-panel> is in the same export functions as several other components and they should be rendered together, so I have no idea why this one was left out in my project. If you have any idea on why this is happening please kindly let me know! Thank you in advance.

Hi @happylilem,
Unfortunately, the <demo-node-config-panel> in the example is a component that can only be used within the example to simplify the code for the demo, and is not a component provided by v-network-graph.
The source code for the documentation website is available in the following repository, which you can refer to if you would like to use the panel components.
https://github.com/dash14/v-network-graph-docs
The source code of <demo-node-config-panel> is as follows:
https://github.com/dash14/v-network-graph-docs/blob/main/docs/.vitepress/components/controls/appearance/NodeConfigPanel.vue
Internally, it uses element-plus.
The correspondence between tags and components is as follows:
https://github.com/dash14/v-network-graph-docs/blob/main/docs/.vitepress/theme/index.js
I hope this helps you.
Best Regards,

Thank you so much for directing me to these links, they are very helpful!
However, when I tried to get NodeConfigPanel.vue to work in my project, there occurred "Unexpected mutation" errors for each of the props (a total of 9 errors). I read this VueJS document about mutation, where it said to compute the prop. But in NodeConfigPanel.vue the props have been computed with getter and setter, and they're emitted as well.
I'm confused about what might be the cause of these errors because I suppose the exactly same code works well on your end. Any idea would be appreciated!

Is the problem you are facing now not a runtime error but a type checking error?
As you may have noticed, props are converted to computed in setup(). However, it seems that the type checker (ESLint) does not recognize the conversion and interprets it as props being used directly and reports errors.
I think it is fine in execution, so try the following statement in the first line of NodeConfigPanel.vue.
<!-- eslint-disable vue/no-mutating-props -->

Note that NodeConfigPanel.vue is a simplified implementation of a demonstration component and does not be implemented with strict type definition. In the above we have addressed this by ignoring it, but in practice it is better to take measures for type consistency. However, that is a general discussion for TypeScript and Vue, which are out of scope of this library....
Best Regards,

Thank you for this detailed reply! The statement works, and I'll learn about type consistency, thank you!


Preserve enum references

There is already an option to preserve const enums declarations in the generated javascript, but (as far as I know) not an option to preserve references to these enums. Currently enum references are replaced by there integer value. This is fine in most situations, but not in all.
I'm working on a new version of gulp-typescript that supports multiple versions of TypeScript, and different versions of TypeScript might have different indices for syntax kinds, so I have to keep the references to the enum so at runtime the right number is found. I temporary solved it by casting to any, as you can see here.
Suggestion: add a new option preserveEnumReferences. When this is active, references to enums will be emitted using normal JavaScript property access (exactly what happens after the work-around with casts).

This is the behavior described in #2183.


Move injection to constructor for Bob Brodt

@bbrodt would like this change to make his life easier.

Hi @bbrodt if you can confirm this change fits your needs I'll merge it into master.

Hi @manstis I see SessionInfo is no longer @Injected - is that a problem for existing code?

@bbrodt Hi.. the constructor is marked with @Inject so CDI will inject all parameters; but now you can also re-use and pass explicit constructor parameters. I also tested the change.. and everything still works :-)

Ah right, I didn't catch that. Awesome, ship it!

Jenkins please retest this.


CQ-4324829 Add more assets to Link components

Also implement a pluggable link processor framework
Allows customization of link behaviour of existing Asset Types
in custom sling model
@review @rismehta @sakshi-arora1

Description
Had to create component v2, because assetType property on resource node needs to be removed and split into different asset types.

Screenshots (if appropriate):

Types of changes

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

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes and the overall coverage did not decrease.
[ ] All unit tests pass on CircleCi.
[x] I ran all tests locally and they pass.

Updated to re-use dialog and markup from v1
Sling Model was already re-used.


Update normalization

Different normalization was used in the feature table and the image chart opened from the feature table
use all scans instead of scans where the image feature was detected in for normalization

fixed

Thanks steffen


Absolute imports

Hey people,
the extension looks very nice!
I had just a problem...I cannot fully use it because, in most of my projects, I use absolute imports ("@/..."), and like this, I am not able to use it

Hey Diego!
Thank you for bringing this to our attention. Another user pointed this out as well and this is definitely something we hope to support. I cannot give you a timetable on this addition, however, I can update this thread once absolute imports are supported. Thanks again for such a good suggestion.
Best

Thank you for your effort; super nice idea! :)

Following along, I have a similar issue using absolute imports with a base URL set in tsconfig. The base URL is './src' so an import from 'src/components/Button.tsx' will be 'components/Button.tsx'.  Otherwise, the extension is awesome, thanks for your efforts!


NEXT: Focus Trap action

[!WARNING]
This issue is a work in progress.

This will act as a hub to centralize this information.
Maintainer Requests
The following requests are coming straight from the Skeleton team. These are highly likely be implemented:

NOTE: Currently this is expected to be a straight power. It seems to do everything required.

Community Requests
The following requests have come from the community and are under consideration:

n/a

Bugs and Issues

n/a

Feedback
If you have additional updates or requests for this feature, please do so in the comments section below.

focus trap for modals doesn't seem to work as expected:
When creating a modal, the little x close button in the corner gets focused but I'd like to have it focused on the abort button (or any other doesn't really matter)
I've tried setting the tabindex to -1 but then pressing tab switches through the element in the background
I've also tried using the data-focusindex but that doesn't change the behaviour at all
https://stackblitz.com/edit/skeletonlabs-repl-fky8vw

Now covered by the new modals solution:

https://github.com/skeletonlabs/skeleton/issues/2357


Cleanup Scripts

These docs were messing up my analytics! :)

Cool project, btw!

Oh wow facepalm, thanks for this!

Thanks for having good taste :D


Waiting for heartbeats forever

Hi @narthur157 , I followed PlayFab instruction to setup the local multiplayer agent and tried to integrate your plugin to the agent.
After I ran LocalMultiplayerAgent.exe, PowerShell stucked on "Waiting for heartbeats from the game server" until I manually stopped the dock container.
Since I can't find any UE4 related log files in the output folder which is designated by MultiplayerSettings.json, I can't do further debugging.
In my understanding, when the dedicated server was launched, unreal engine will load your module and execute StartServer automatically, is that correct?
btw how do you debug/log with the LocalMultiplayerAgent? Thanks

Since this problem may come from PlayFab LocalMultiplayerAgent, i'll close this issue. Thanks, @narthur157 !


Allow HoodieWrapperFileSystem to wrap other proxy file-system implementations with no getScheme implementation

Issue : 786 : HoodieWrapperFileSystem not working with presto

@bhasudha can you also please review this

Looks good to me. @bvaradar Looks like with PR - 700 the HoodieWrapperFileSystem is added to HoodieTableMetaClient now. Do we need to test other query engines as well for same issue as this touches query side?


size of .git >200MB

is it necessary to have .git be this large?

This seems fixable.
I used the script from https://stackoverflow.com/questions/10622179/how-to-find-identify-large-commits-in-git-history to rank the history. This gives:
...
04e7c452e50c  1.7MiB editor/components/tree/frontend/build/static/js/main.5a572f5d.js.map
6b5b61ede90d  1.9MiB editor/components/tabs/frontend/build/static/js/main.a44b10fc.js.map
51f017c6898c  1.9MiB editor/components/tabs/frontend/build/static/js/main.e6b754d8.js.map
8fac424284aa  2.5MiB CC_BY_SA_formatted.jsonl
f4ad12057595   18MiB datasets/mini_CC_BY_SA/data/0-hz-immersion-into-wallbient/04.0 Hz - Balcony Wall.mp3
769dd58f2b32   21MiB datasets/mini_CC_BY_SA/data/0-hz-immersion-into-wallbient/01.0 Hz - Entrance Wall.mp3
d8ca0d7262b3   22MiB mini_CC_BY_SA/CC_BY_SA/0-0-rainy-day-dub-september-5th-2006.zip
7f27136725fe   23MiB datasets/mini_CC_BY_SA/data/0-0-rainy-day-dub-september-5th-2006/0=0_-_Rainy_Day_Dub_September_5th_2006.mp3
4dd986758948   23MiB datasets/mini_CC_BY_SA/data/0-hz-immersion-into-wallbient/02.0 Hz - Bright Hall Wall.mp3
4f5812dc0868   28MiB datasets/mini_CC_BY_SA/data/0-hz-immersion-into-wallbient/03.0 Hz - Living Room Wall.mp3
1110658dfb85   81MiB mini_CC_BY_SA/CC_BY_SA/0-hz-immersion-into-wallbient.zip

We can see that most of these are audio files. We can plot the top cumulative sizes in bytes (only top 10 shown):

We can similarly convert the cumulative sum to a percentage by normalizing by total size to approximate the removal of largest N files. Note this is a crude approximation of total size and the actual size after removal.

So removing 7 files would account for over 80% of the Git log's size. It seems a lot were introduced in development of #322
(e.g., https://github.com/mlcommons/croissant/pull/322/commits/506bd0df16d2037d6fd760cb19c7919a8be9792b) but ultimately removed.
@monke6942021 @marcenacp Should we rebase these files out?

thx for the analysis michael! i just did a clone of the current version and this appears to be fixed now, correct?


Is it safe to pass negative lengths to functions?

random_get has the following signature:
pub fn random_get(arg0: i32, arg1: i32) -> i32;

Meanwhile in the witx files it's defined as:
(typename $size u32)

  (@interface func (export "random_get")
    ;;; The buffer to fill with random data.
    (param $buf (@witx pointer u8))
    (param $buf_len $size)
    (result $error (expected (error $errno)))
  )

Assuming buffer length is casted from usize to i32, would it work correctly? Note that according to this comment:

none of our 3 WASM environments (Emscripten, wasi-libc, wasm32-unknown-unknown) enforce isize::MAX right now

Is there a reason why all arguments and return values are defined use i32 instead of more descriptive types used in the witx files?

In particular, it's fine to cast arbitrary usize to i32 for the purpose of calling "random_get". The API here is just using the i32 as a way to pass 32 bits of information, and not as a way to interpret it as a signed quantity.

I think it could be worth to use the more descriptive types, but the main question was answered, so I will close this issue.


Add VAE example

As suggested in User Group, it is preferable to add VAE example that utilize functions in chainer.functions.loss.vae. One of the candidate is to implement (supervised or unsupervised) VAE that generates MNIST.

Hi, I have implemented the simple VAE. It seems to be working correctly.
Do you have any suggestions for improvements?
https://github.com/ywatanabex/chainer/tree/example-vae
I have some questions.

Are there style guide for docstrings?
data.py is copied from MNIST example. maybe this is not good.
I do not well how to send pull request etc.. so could you give me advices?

Thank you for your work!
We do not have guideline for doc string. Could you make the document by referencing other examples?
You should send PR to the master branch of the original repository. I think you can send PR by following the github's UI.

I have change the code to pass flake8 test.

This issue is fixed by #1046.


Activity Monitoring

get accel data.

Select action X, perform action X and do Y measurements of accel over X time.
label data.
store data??? (will be a lot!).

table 'measurement-time'.
auto increment ID [int]
run ID [int]
timestamp [int - UTC microseconds??]
action [int: 0=walking (not in queue/exit), 1=queueing (start/not moving), 2=moving (moving in queue)]
x-activity [float]
y-activity [float]
z-activity [float]

Learn (apply filters/classification)

transform measurements from time to frequency domain (FFT - Z bins ??)
apply gaussian filter/alpha filtering??
store results:

table 'classification'
auto increment ID [int]
run ID [int]
action [int: 0=walking (not in queue/exit), 1=queueing (start/not moving), 2=moving (moving in queue)]
bin-0 [float]
...
bin-Z [float]

Classify/test

do Y measurements of accel over X time
apply filters of 'learn'-phase
for all records in 'classification' table, calculate difference (in Z-dimensional space)
Find k-nearest neighbours (weighted distance??), determine with majority voting the classification

Optional: use BackPropagation (Neural network) for classification:

get accel data.  (just as before)
Filters/classification (just as before)
Learn

Neural network with:

Z-inputs (for each bin)
3 outputs (for each action)
X hidden nodes (to be determined while testing)

Apply backpropagation

sigmoid as threshold function
weight as input (to be learned)
decaying learning rate (decay to be determined)
run on 70% of dataset sequentially, until each sample results in ~80% correctnes (normalise 3 outputs and correct output should be >0.8)

test on 30% of dataset, if satisfactory, done! :D

Update:
Currently, branch activity_monitoring contains the basic functions for the app. This includes

linear accelerometer logging
logging is annotated with 'walking', 'idle', 'queueing'.
database for logging
export to csv, which can be used in matlab
matlab functions for parsing datalog
calibration for constant-bias correction for accelerometer.

To use the app:

put the app on the phone
put the app on a table
press 'calibrate'. It will calibrate for ~ 30 seconds
bias-estimate is doen (Toast message)
'start accel' to start logging
during log the type of activity may change

What to do:

collect a lot of data!
check the standard deviation of data with respect of the paper (matlab functions is already build)
implement crosscorelation in matlab
feature selection
Maybe: different time-windows for deviation. Each window results in a single deviation. the group of deviations can be used as features. Hypothsis: idle should show a low magnitude on all windows. If a sudden movement is created, a spike is shown in the shorter windows, but will be neglected in the longer. Walking will result in large deviations in all windows. Queueig on the other hand is being idle, followed by a short burst of motion, hence a spike should be obseverd in the 'mid-sized' windows and lower. Based on these difference kNN might be able to classify the data

If it is not working:

maybe change classification: step, idle and walking. Queueing is mostly being idle en taking a small step. Hence, a sequence of 'steps' can be determined to check the queue length and serving time.


V-net to V-net connectivity between two regions - Not required ?????? (Single ADFS Farm / WID)

In the content, it states "You do not need to have connectivity between the virtual networks itself. Since each virtual network has access to domain controllers and has AD FS and WAP server in itself, they can work without any connectivity between the virtual networks in different regions."
However, In most scenarios, ADFS is part of a single domain, Single UPN used for O365.  In this instance you would extend the ADFS Farm across both regions,  so for this we would need to Replicate the "WID" Database,  I do not believe you can have 2 separate ADFS Farms serving a single UPN Namespace ?, so the statement is only relevant if the 2 ADFS Instances were separate and not a single farm spread across 2 regions
cheers
mark

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3def476b-505a-f81d-e604-a881dce0dd67
Version Independent ID: 9b227671-45f7-bdb2-4e81-51a4daae00e7
Content: High availability cross-geographic AD FS deployment in Azure with Azure Traffic Manager
Content Source: articles/active-directory/active-directory-adfs-in-azure-with-azure-traffic-manager.md
Service: active-directory
GitHub Login: @anandyadavMSFT
Microsoft Alias: anandy;billmath

Thanks for the feedback! We are looking into this and will get back to you shortly.

@brumbarlow I have assigned the issue to the content author to investigate and update as appropriate.

@brumbarlow Thank you for the feedback.  Because this is going to require some research, I have opened a bug to track this.  At this point, we can go ahead and close this issue and I will reopen it once I have some additional information to share.  Thank you!

#please-close


Add AAD auth using azidentity

Fixes #446. Supplants #547 and uses azidentity to acquire tokens.
The basic shape of the change is the same as 547 - it creates a new azuresql driver which wraps the existing driver. The only changes required in core were to make the fedauth connector artifacts public.
I am able to test it manually and with an ADO pipeline run in my organization but I don't know how to automate the E2E using the appveyor setup which is controlled by the project maintainers.
@kardianos  please let me know if this satisfies your wishes for protecting the core.
@wrosenuance I think this keeps the spirit of your original change while updating the Azure components. I consulted with other SQL client driver owners to verify that all these authentication methods need to use the "ADAL" workflow.
The readme includes updated usage documentation.

First glance, this looks good. Pardon the long delay. I'll try to review this today.


request.body is deleted when the application is behind nginx proxy

Hey,
I have the simplest possible application. The code is:
from japronto import Application

async def request_handler(request):
    text = """Body related properties:
      Mime type: {0.mime_type}
      Encoding: {0.encoding}
      Body: {0.body}
      Text: {0.text}
      Form parameters: {0.form}
      Files: {0.files}
    """.format(request)
    return request.Response(
        mime_type="application/json", text=text)

app = Application()
app.router.add_route('/', request_handler)
app.run(debug=True, port=8088)

When I send a POST request with body to localhost:8088, the body is correctly parsed. But when I send a POST request to localhost/application (which is an nginx proxy), what I get is:
Body related properties:
      Mime type: None
      Encoding: None
      Body: None
      Text: None
      Form parameters: None
      Files: None

What can I do about this?
Thanks in advance.

Can you double check your nginx configuration, also check the actual HTTP verb that nginx sends to Japronto. Maybe you are doing some redirection in NGINX that turns your POST to GET.

I don't do http method conversion in my nginx. In fact, I'm using the same nginx configuration for a handful of other applications, all of which handle POST requests, I encountered this type error with no other one of them.
Anyway, I found what was causing this: When I redirect from nginx as:
location /application {
    proxy_pass http://<IP_ADDRESS>:8088
}

It fails to route to app.router.add_route('/', request_handler)
But when I switch my nginx routing to:
location /application {
    proxy_pass http://<IP_ADDRESS>:8088/application
}

and handle that in my japronto app as app.router.add_route('/application', request_handler), suddenly it's all fine.

if you want the original behaviour without changing routes you need to use terminating slashes explicitely:
location /application/ {
    proxy_pass http://<IP_ADDRESS>:8088/
}

Note the terminating / in location and proxy_pass


[Issue-2676] Integrate Liberland network and its token LLD & LLM

Intergrate Liberland Mainnet and Testnet.
Support LLD and Liberland Merit (LLM) from Liberland.
Support LDN from Liberland Testnet.

🚀 Deployed on https://pr-2677--sw-web-runner.netlify.app


Add request duration to diagnostic metadata

As titled.
Now 100% convinced this should live in the transport, as it can be obtained with observability events and it causes a minor slowdown in performances.
Code used for benchmarks:
'use strict'

const http = require('http')

const server = http.createServer((req, res) => {
  res.writeHead(200, {
    'content-type': 'application/json'
  })
  res.end('{"hello":"world"}')
})

server.listen(3000, async () => {
  console.log('listening')
})

'use strict'

const { Transport, WeightedConnectionPool, UndiciConnection } = require('./')

const pool = new WeightedConnectionPool({ Connection: UndiciConnection })
pool.addConnection('http://localhost:3000')
const transport = new Transport({ connectionPool: pool })

async function run () {
  for (let i = 0; i < 1000; i++) {
    await transport.request({ method: 'GET', path: '/' })
  }
}

run().catch(err => {
  console.log(err)
  process.exit(1)
})

Results:
# this branch
  Time (mean ± σ):     438.2 ms ±  51.3 ms    [User: 470.0 ms, System: 83.4 ms]
  Range (min … max):   389.0 ms … 521.6 ms    10 runs

# main branch
Benchmark 1: node bench.js
  Time (mean ± σ):     405.5 ms ±  35.3 ms    [User: 451.2 ms, System: 77.6 ms]
  Range (min … max):   366.6 ms … 478.9 ms    10 runs

The benchmark has been taken with hyperfine.

Another option is to introduce a flag on the transport level to measure request duration. However, it comes with the cost of increasing API surface. WDYT @delvedor?


chore: remove some platform-specific quirkinesses from e2e

replaces xxd with the more common hexdump
uses python native functions instead of bash check for history-files tests
extra formatting


Ability to delete specific updates or clear out the queue of updates

Is your feature request related to a problem? Please describe.
When there is a super long backlog of updates, there is a need to clear out that backlog, rather than waiting for them all to complete. In most queue systems there is a way to do this.
Describe the solution you'd like
Add endpoints to:

Delete a specific update by ID
Delete all updates with status of "Enqueued"

Describe alternatives you've considered
There's no way from the documentation that I can see to do this.  Right now, your only option is to wait until the backlog has been churned through which could take hours or more.

Hello, Thanks for this feature proposal!
I will close this issue in favor of our public roadmap.
I invite everyone interested in this feature to upvote it on the roadmap.


Fix logout redirect 2

What this PR does / why we need it:

kots occasionally redirects from the snapshot restore page to the login page
See this thread

Which issue(s) this PR fixes:

Fixes # https://app.shortcut.com/replicated/story/61561/kots-occasionally-redirects-from-restore-success-page
Special notes for your reviewer:

Steps to reproduce

Does this PR introduce a user-facing change?

- fixes an issue where kots would automatically redirect to the login page from the Snapshot Restore Complete page

Does this PR require documentation?
NONE

Need to merge this testim branch in at the same time: https://app.testim.io/#/project/wpYAooUimFDgQxY73r17/branch/fix-logout-redirect-2/test/3KsnsQNZ2U4cpbxQ/step/UPXyiw0G2Z5dLWIu?result-id=abzOMOKobxOsXMWP&shared-step-instance=false&path=UPXyiw0G2Z5dLWIu


suite/util: fix KeyError in get_sha1s

The git.ceph.com:8080/history returns json with 'err' instead of 'error'.
  2021-04-21 08:29:51,334.334 DEBUG:teuthology.suite.util:got response: {'committish': 'e647a64c1e8147b04e84575a0fc53dee65cecab2', 'err': 'fatal: bad object e647a64c1e8147b04e84575a0fc53dee65cecab2\n', 'sha1s': []}
  Traceback (most recent call last):
    File "/home/runner/src/teuthology_master/virtualenv/bin/teuthology-suite", line 33, in <module>
      sys.exit(load_entry_point('teuthology', 'console_scripts', 'teuthology-suite')())
    File "/home/runner/src/teuthology_master/scripts/suite.py", line 189, in main
      return teuthology.suite.main(args)
    File "/home/runner/src/teuthology_master/teuthology/suite/__init__.py", line 143, in main
      run.prepare_and_schedule()
    File "/home/runner/src/teuthology_master/teuthology/suite/run.py", line 397, in prepare_and_schedule
      num_jobs = self.schedule_suite()
    File "/home/runner/src/teuthology_master/teuthology/suite/run.py", line 612, in schedule_suite
      util.find_git_parent('ceph', self.base_config.sha1)
    File "/home/runner/src/teuthology_master/teuthology/suite/util.py", line 491, in find_git_parent
      sha1s = get_sha1s(project, sha1, 2)
    File "/home/runner/src/teuthology_master/teuthology/suite/util.py", line 485, in get_sha1s
      int(count), sha1, project, resp.json()['error'])
  KeyError: 'error'

Signed-off-by: Kyr Shatskyy<EMAIL_ADDRESS>

@susebot run deploy

@susebot run deploy

@susebot run deploy

@susebot run deploy

@susebot run deploy

Scheduling is failed because arm build is failed, and build_complete returns False:
curl -s https://shaman.ceph.com/api/builds/ceph/octopus/e647a64c1e8147b04e84575a0fc53dee65cecab2/ | jq '.[] | select(.distro=="centos" and .distro_version=="8" and .flavor=="default") '

{
  "status": "failed",
  "sha1": "e647a64c1e8147b04e84575a0fc53dee65cecab2",
  "distro_arch": "arm64",
  "started": "2021-04-20 19:06:00.620116",
  "distro_codename": null,
  "completed": null,
  "extra": {
    "node_name": "<IP_ADDRESS>+confusa01",
    "version": "",
    "build_user": "",
    "root_build_cause": "SCMTRIGGER",
    "job_name": "ceph-dev-build/ARCH=arm64,AVAILABLE_ARCH=arm64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic"
  },
  "modified": "2021-04-20 20:29:55.141954",
  "distro_version": "8",
  "project": "ceph",
  "url": "https://jenkins.ceph.com/job/ceph-dev-build/ARCH=arm64,AVAILABLE_ARCH=arm64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic/47457/",
  "log_url": "https://jenkins.ceph.com/job/ceph-dev-build/ARCH=arm64,AVAILABLE_ARCH=arm64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic/47457//consoleFull",
  "flavor": "default",
  "ref": "octopus",
  "distro": "centos"
}
{
  "status": "completed",
  "sha1": "e647a64c1e8147b04e84575a0fc53dee65cecab2",
  "distro_arch": "x86_64",
  "started": "2021-04-20 17:43:16.257781",
  "distro_codename": null,
  "completed": "2021-04-20 18:34:27.490982",
  "extra": {
    "node_name": "<IP_ADDRESS>+braggi04",
    "version": "15.2.11-166-ge647a64c",
    "build_user": "",
    "root_build_cause": "SCMTRIGGER",
    "job_name": "ceph-dev-build/ARCH=x86_64,AVAILABLE_ARCH=x86_64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic"
  },
  "modified": "2021-04-20 18:34:27.492338",
  "distro_version": "8",
  "project": "ceph",
  "url": "https://jenkins.ceph.com/job/ceph-dev-build/ARCH=x86_64,AVAILABLE_ARCH=x86_64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic/47457/",
  "log_url": "https://jenkins.ceph.com/job/ceph-dev-build/ARCH=x86_64,AVAILABLE_ARCH=x86_64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic/47457//consoleFull",
  "flavor": "default",
  "ref": "octopus",
  "distro": "centos"
}

Hey @dmick this looks relates the d36cd1c can you review this patch, however I am not sure why it is failing and what should be the logic if arm container is failing however the x86_64 is complete, should the teuthology-suite fail like it does now?

And this fails reproduced with the command:
teuthology-suite -v --machine-type gra         --ceph octopus --suite smoke         -d centos -D 7.6         --filter-out ubuntu,rhel,7.7,rados_bench,kclient_workunit_suites_dbench,cfuse_workunit_suites_iozone,_s3tests         --limit 2         --seed 0         --newest 100```

in general teuthology-suite is supposed to only check for builds that are required by the jobs being scheduled - so in this case arm status should not matter

It looks like the problem was a 500 error from gitserver in the most-recent job:
2021-04-21 20:12:13,835.835 DEBUG:teuthology.suite.util:got response: {'committish': '7088a74fcebc164188f87a0b01ce9853309c18c6', 'err': 'fatal: bad object 7088a74fcebc164188f87a0b01ce9853309c18c6\n', 'sha1s': []}
2021-04-21 20:12:13,835.835 ERROR:teuthology.suite.util:cant find 2 parents of 7088a74fcebc164188f87a0b01ce9853309c18c6 in ceph: fatal: bad object 7088a74fcebc164188f87a0b01ce9853309c18c6

@susebot run deploy

This "bad object" condition still obtains on git.ceph.com's local repo, but not on mine, which leads me to think that something's wrong with updating the repo (at git.ceph.com:/home/cephgit/gitserver/git).  Looking into it.

apparently a git fetch process is looping, and that causes the git update script to exit immediately.

This "bad object" condition still obtains on git.ceph.com's local repo, but not on mine, which leads me to think that something's wrong with updating the repo (at git.ceph.com:/home/cephgit/gitserver/git). Looking into it.
$ git rev-list --first-parent --max-count 1 7088a74fcebc164188f87a0b01ce9853309c18c6
fatal: bad object 7088a74fcebc164188f87a0b01ce9853309c18c6

this is only the part of the problem with 'err'.
See this log:
2021-04-22 20:29:31,699.699 INFO:teuthology.suite.util:container build centos/8, checking for build_complete
2021-04-22 20:29:31,700.700 DEBUG:teuthology.packaging:Querying https://shaman.ceph.com/api/search?status=ready&project=ceph&flavor=default&distros=centos%2F8%2Fx86_64&sha1=7088a74fcebc164188f87a0b01ce9853309c18c6
2021-04-22 20:29:32,594.594 DEBUG:teuthology.packaging:Check build complete for results: {'status': 'ready', 'sha1': '7088a74fcebc164188f87a0b01ce9853309c18c6', 'extra': {'build_url': 'https://jenkins.ceph.com/job/ceph-dev-build/ARCH=arm64,AVAILABLE_ARCH=arm64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic/47474/', 'root_build_cause': 'SCMTRIGGER', 'version': '15.2.11-172-g7088a74f', 'node_name': '<IP_ADDRESS>+confusa04', 'job_name': 'ceph-dev-build/ARCH=arm64,AVAILABLE_ARCH=arm64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic', 'package_manager_version': '15.2.11-172.g7088a74f'}, 'url': 'https://3.chacra.ceph.com/r/ceph/octopus/7088a74fcebc164188f87a0b01ce9853309c18c6/centos/8/flavors/default/', 'distro_codename': None, 'modified': '2021-04-21 21:53:30.940025', 'distro_version': '8', 'project': 'ceph', 'flavor': 'default', 'ref': 'octopus', 'chacra_url': 'https://3.chacra.ceph.com/repos/ceph/octopus/7088a74fcebc164188f87a0b01ce9853309c18c6/centos/8/flavors/default/', 'archs': ['x86_64', 'source', 'arm64'], 'distro': 'centos'}
2021-04-22 20:29:32,594.594 DEBUG:teuthology.packaging:Querying https://shaman.ceph.com/api/builds/ceph/octopus/7088a74fcebc164188f87a0b01ce9853309c18c6...
2021-04-22 20:29:33,448.448 DEBUG:teuthology.packaging:Matched build: {'status': 'failed', 'sha1': '7088a74fcebc164188f87a0b01ce9853309c18c6', 'distro_arch': 'arm64', 'started': '2021-04-21 20:34:41.083883', 'distro_codename': None, 'completed': None, 'extra': {'node_name': '<IP_ADDRESS>+confusa04', 'version': '', 'build_user': '', 'root_build_cause': 'SCMTRIGGER', 'job_name': 'ceph-dev-build/ARCH=arm64,AVAILABLE_ARCH=arm64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic'}, 'modified': '2021-04-21 21:49:52.434171', 'distro_version': '8', 'project': 'ceph', 'url': 'https://jenkins.ceph.com/job/ceph-dev-build/ARCH=arm64,AVAILABLE_ARCH=arm64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic/47474/', 'log_url': 'https://jenkins.ceph.com/job/ceph-dev-build/ARCH=arm64,AVAILABLE_ARCH=arm64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic/47474//consoleFull', 'flavor': 'default', 'ref': 'octopus', 'distro': 'centos'}
2021-04-22 20:29:33,449.449 INFO:teuthology.suite.util:build not complete

It found first ARM build which is failed and gives up on checking next build.
And only then it faces:
2021-04-22 20:29:33,449.449 ERROR:teuthology.suite.run:Packages for os_type 'centos', flavor basic and ceph hash '7088a74fcebc164188f87a0b01ce9853309c18c6' not found
2021-04-22 20:32:09,452.452 ERROR:teuthology.suite.util:git refresh failed for ceph: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<title>500 Internal Server Error</title>

Internal Server Error

The server encountered an internal error or
misconfiguration and was unable to complete
your request.

Please contact the server administrator at
 [no address given] to inform them of the time this error occurred,
 and the actions you performed just before this error.

More information about this error may be available
in the server error log.

<address>Apache/2.4.25 (Ubuntu) Server at git.ceph.com Port 8080</address>

2021-04-22 20:32:11,904.904 DEBUG:teuthology.suite.util:got response: {'committish': '7088a74fcebc164188f87a0b01ce9853309c18c6', 'err': 'fatal: bad object 7088a74fcebc164188f87a0b01ce9853309c18c6\n', 'sha1s': []}
2021-04-22 20:32:11,904.904 ERROR:teuthology.suite.util:cant find 2 parents of 7088a74fcebc164188f87a0b01ce9853309c18c6 in ceph: fatal: bad object 7088a74fcebc164188f87a0b01ce9853309c18c6

Traceback (most recent call last):
  File "/home/runner/src/teuthology_master/virtualenv/bin/teuthology-suite", line 33, in <module>
    sys.exit(load_entry_point('teuthology', 'console_scripts', 'teuthology-suite')())
  File "/home/runner/src/teuthology_master/scripts/suite.py", line 189, in main
    return teuthology.suite.main(args)
  File "/home/runner/src/teuthology_master/teuthology/suite/__init__.py", line 143, in main
    run.prepare_and_schedule()
  File "/home/runner/src/teuthology_master/teuthology/suite/run.py", line 397, in prepare_and_schedule
    num_jobs = self.schedule_suite()
  File "/home/runner/src/teuthology_master/teuthology/suite/run.py", line 614, in schedule_suite
    util.schedule_fail('Backtrack for --newest failed', name)
  File "/home/runner/src/teuthology_master/teuthology/suite/util.py", line 76, in schedule_fail
    raise ScheduleFailError(message, name)
teuthology.exceptions.ScheduleFailError: Scheduling runner-2021-04-22_20:29:19-smoke-octopus-distro-basic-gra failed: Backtrack for --newest failed

Why it stops to go further, since the --newest 100 is provided?
I believe there are combination of different issues.

it found first ARM build

it's supposed to be searching for arch as well.

Why it stops to go further

I'm assuming the 500 error is treated as fatal.
It's definitely the case that git.ceph.com is out of date and clogged up.  Let's get that back into shape before going much further.  It's possible that somehow the check for arch isn't working right, but I don't see it from code examination, and I don't want to experiment much right now with git.ceph.com as ill as it is.

in fact....the query string contained x86_64; I don't know why shaman gave a result including arm64 build.  That's odd and I can't reproduce it.  Using the exact query string from above:
$ curl -L 'https://shaman.ceph.com/api/search?status=ready&project=ceph&flavor=default&distros=centos%2F8%2Fx86_64&sha1=7088a74fcebc164188f87a0b01ce9853309c18c6' | jq .
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   515  100   515    0     0   5000      0 --:--:-- --:--:-- --:--:--  4951
100   976  100   976    0     0   6921      0 --:--:-- --:--:-- --:--:--  6921
[
  {
    "status": "ready",
    "sha1": "7088a74fcebc164188f87a0b01ce9853309c18c6",
    "extra": {
      "build_url": "https://jenkins.ceph.com/job/ceph-dev-build/ARCH=arm64,AVAILABLE_ARCH=arm64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic/47474/",
      "root_build_cause": "SCMTRIGGER",
      "version": "15.2.11-172-g7088a74f",
      "node_name": "<IP_ADDRESS>+confusa04",
      "job_name": "ceph-dev-build/ARCH=arm64,AVAILABLE_ARCH=arm64,AVAILABLE_DIST=centos8,DIST=centos8,MACHINE_SIZE=gigantic",
      "package_manager_version": "15.2.11-172.g7088a74f"
    },
    "url": "https://3.chacra.ceph.com/r/ceph/octopus/7088a74fcebc164188f87a0b01ce9853309c18c6/centos/8/flavors/default/",
    "distro_codename": null,
    "modified": "2021-04-21 21:53:30.940025",
    "distro_version": "8",
    "project": "ceph",
    "flavor": "default",
    "ref": "octopus",
    "chacra_url": "https://3.chacra.ceph.com/repos/ceph/octopus/7088a74fcebc164188f87a0b01ce9853309c18c6/centos/8/flavors/default/",
    "archs": [
      "x86_64",
      "source",
      "arm64"
    ],
    "distro": "centos"
  }
]

@dmick You are querying different request, the build_complete check is making request to, for example, https://shaman.ceph.com/api/builds/ceph/octopus/7088a74fcebc164188f87a0b01ce9853309c18c6, and then goes throw all the builds and compares with what you've been queried.

@susebot run deploy

@kshtsk : I see that now.  I was using the URL from the log, but, build_complete doesn't log its request.  hacking, unless you already have something.

@dmick no, not yet fixed, so far so good scheduling passed, did anyone fixed the internal server error?

If you mean the git.ceph.com/history error, yes, that should be working well again.  I suspect if you hit another condition where the arm64 build failed and is first in the response, it will still fail to find that build, but it might step back in history until it works now that the git.ceph.com/history works.

yeah right

Closing since there is another PR merged addressing the issue #1958


Use Scopes to make objects have Component lifecycle

Theory behind the changes
With scopes, you can keep a single instance of a class as long as that scope exists. The Component defines the Scope that is used in its dependencies with an annotation in its interface declaration.
@Component(modules = [CoreDataModule::class])
@Singleton
interface CoreComponent {}

For this to work, the Component needs to be annotated with a scope. Then, the modules that the component includes must be also annotated with that particular scope. Let's take a look at an example:
In Plaid, CoreComponent acts as the BaseComponent that most components depends on. Since there's only an instance of the CoreComponent in the app lifecycle (in our case created in PlaidApplication.kt), the objects created with that Component will live until the application dies. With that definition, we could call that Singleton objects. That's why the CoreComponent is marked with the @Singleton annotation, the modules using @Singleton in their @Provide methods will make that object live as long as the process is alive. For example, we can see the Gson object we create in the CoreData module:
    @Singleton
    @Provides
    fun provideGson(): Gson = Gson()

Other objects that this module provides, for example a base implementation of a OkHttpClient doesn't have the @Singleton annotation because we want to create a new object every time that dependency gets injected. We don't want to reuse OkHttpClient because each of them have a different use case.
Same can be extrapolated to @FeatureScope, the object will live as long as the component is in memory. For example, when a user is going to log in, we create a new LoginComponent. When the user is not in the login flow anymore, that component gets destroyed. And when there's a new login the Component is recreated again. In this case, LoginComponents are independent and information from one login doesn't leak to the other one.
Important: One component can consume objects from other scopes that it depends on. For example, LoginComponent with @FeatureScope can use Gson that is provided with a @Singleton scope because LoginComponent depends on CoreComponent. However, it cannot provide objects with a different scope it's annotated with. Since LoginComponent is annotated with @FeatureScope it can provide objects that live that long, but it cannot provide an object with a @Singleton scope because it's not annotated with it.
Notice that the name we give to Scopes are not useful. Even if we called the Singleton scope something like ProcessLifecycle scope. It'd behave in the same way. It comes down to: there will be just one instance of that object for that Component.
Should something live as long as the Component it is in?
In this PR we followed this pattern:
Should

Gson
GsonConverterFactory
Context
Resources
Stylers
Markdown
Repositories
DataManagers
DataSources
Services
SharedPreferences
Daos
ConverterFactories
ChromeFader
FileAuthority
Subjects??

Shouldn't

OkHttpClient
OkInterceptors
CallAdapterFactory
ViewModel
ViewModelFactory
DataLoaded

This contributes to #573


Build arm64v8 Docker images

Is your feature request related to a problem? Please describe.
I cannot run the official opensearch Docker image natively on an M1 Mac.
Describe the solution you'd like
I'd like to see arm64v8 opensearch images the same way mariadb has images built for this architecture: https://hub.docker.com/_/mariadb?tab=tags&page=1&ordering=last_updated
(click through the latest tag to see the list of os/arch support)
Describe alternatives you've considered
It may be possible to use amd64 emulation to run the official images, however this has many drawbacks:
https://docs.docker.com/docker-for-mac/apple-silicon/#known-issues
Additional context
n/a

Thanks for reaching out.
The team is working on Arm64 docker builds: https://github.com/opensearch-project/opensearch-build/issues/30

cc: @bbarani @peterzhuamazon

Great! Sorry I missed the existing issue. Closing as a duplicate.


update the list of Perl implementations

JSON::Schema::Draft201909 has been deprecated and replaced by JSON::Schema::Modern
note that Test::JSON::Schema::Acceptance is a wrapper of this test suite

Great! Thanks.


Explore/Spike: Call a vector of mutable objects multiple times

We'd like to explore an observer, event subscription, model for the Blockchain "output" API
Idealistic (Chris + Christian)
let mut magic_number = 5
let expensive_closure = |num| {
      println!("calculating slowly...");
      thread::sleep(Duration::from_secs(2));
      magic_number = magic_number + num
};

expensive_closure(5);
expensive_closure(10);

println!("Magic number is: {}", magic_number); // Expect 20 to be printed

fn main() {
let mut magic_num = 5;

let **mut** ex = |num| {
    println!("Slow");
    magic_num+=num;
    num
};

ex(5);
ex(10);

println!("magic_num {}", magic_num);

}
Output:
Slow
Slow
magic_num 20

This is ideally what I would like:

fn add_transaction(& transaction: Transaction, callBack: Fn) -> Result<Block,Err> {
 // lowest level
}
fn add_blockchain_listener(bc: &Blockchain, callBack: Fn) -> Result<Block,Err> {
 // highest level
}

fn add_block_listener(block: Block, callBack: Fn) -> Result<Block,Err> {
   // middle level
}

add_transaction(&t, |block_chain| saveToFile(block_chain))
add_transaction(&t)
blockchain.add_finalizer_listener(|finalBlock| saveToFile(finalBlock))

This answered our technical question 🎉

Do you have a use case for blockchain events?  If you do, it becomes clearer what a good solution looks like. If you don't, maybe it is not needed.


duplicated volunteer page

Context:
We have currently 2 pages

ToDo:
When a user signs up, make a button, so if it's interested into volunteer, can go directly to couchers.org/volunteer instead of filling a new different formular

Is the idea to redirect to the volunteer page? If yes, that would break up the signup flow which could be bad.
I see two alternatives:

If the user says yes, we could send an email (delayed by X minutes so as to not disrupt signup completion) and in the email include a text and link to the volunteering page.
Move the "would you like to volunteer?" question until signup has been completed (Perhaps a 1-time modal upon landing on the dashboard for the first time), and then take the user to the volunteering page.

Both options above direct the user to the volunteering page which uses a google form which populates the useful Monday volunteering board (found here https://couchersorg.monday.com/ ) and also pushes a notification to the slack #recruitment channel.

why would break it up? I was thinking about opennning in a new page @jesseallhands

the point why I did the ticket this way, it's because it's a very quick fix, and we forget about having multiple sources of truth, I'm sure we can do it better, but finding the perfect solution with our low capacity means things get longer to be done, so slow development, doing a quick fix, it's like "problem solved" xd, but I know this can be done way better (but not this fast xd)


Client Crash when using IE book

The client crashes when viewing the coke oven or blast furnace recipe page in IE book. Likely due to use of custom recipe.

http://pastebin.com/unw2b3pF
The crash is due to the original IE recipe that uses vanilla bricks. We have added TFC bricks to the same Ore dict entry as vanilla bricks. It is crashing trying to render the brick image. Still investigating.

Fixed. Issue was due to how IE manual was handling ore dictionary values with wildcard. Moved TFC brick items into separate entry from vanilla bricks. The manual does display original recipe. This is not fixable on our end and is minor.


Misc doc changes

Besides other documentation changes, this commit ensures the generated
HTML doc for HexDocs.pm will become the source of truth for this Elixir
library and leverage on latest features of ExDoc.

@KacperPucek @szajbus Any updates on this?

All looks fine, good job.
I don't have write permissions here anymore, but maybe @mentero or @Skoda091 can help? :)


Extend README with instructions for contributions

The README should contain a short summary of how new projects may be added. During one of the previous calls, the options that have been mentioned have basically been

Fork and open a PR with the updated data JSON (preferred)
Open an issue with the required project information, so that one of the maintainers may add it

For both cases, the fields (i.e. the properties that are available in the JSON, and the possible values) should be explained briefly.
(I'll write a few words here ASAP and open a PR - this issue is rather a reminder, and to allow comments of what other information should be added)

Fixed via https://github.com/KhronosGroup/glTF-Project-Explorer/pull/15


Missing debug-override code sample

In step 7. Debug overrides is discussed how debug-override can be used to safely override config only for debug version of the app:

Instead of adding a blanket whitelist for this use case or modifying the code, the debug-override option in the Network Security Configuration allows you to set security options that only apply when the application is run in debug mode; that is, when android:debuggable is true.

Next, we will use a debug-override option in the network security configuration to whitelist this custom certificate authority only for the localhost domain:

But it is not actually used in any of the code samples.

Thank you for the input. I've updated the steps to include this in step 7 and it should be available shortly.


[Bug] Can't display storage of network drive with Docker Compose

I'm running Dashdot under Docker Compose on a Debian VPS. I have a 1TB Storage Box from Hetzner that gets mounted via CIFS via an entry in fstab.
However, using a standard Docker Compose configuration:
dashdot:
  image: mauricenino/dashdot:latest
  restart: unless-stopped
  privileged: true
  volumes:
    - /:/mnt/host

I only see the server's own internal SSD:

I've tried adding additional bind mounts in Compose:

/mnt/storagebox:/mnt/host/mnt/storagebox:ro
/mnt/storagebox:/mnt/host/storagebox:ro
/mnt/storagebox:/mnt/storagebox:ro

These all have no effect. I've also tried setting the environment variables:
environment:
  DASHDOT_FS_TYPE_FILTER: ""
  DASHDOT_FS_VIRTUAL_MOUNTS: "//user123.your-storagebox.de/backup"

This also doesn't change anything.
Output of df
Filesystem                           Size  Used Avail Use% Mounted on
udev                                 3.8G     0  3.8G   0% /dev
tmpfs                                775M  2.8M  773M   1% /run
/dev/sda1                             75G   32G   41G  45% /
tmpfs                                3.8G     0  3.8G   0% /dev/shm
tmpfs                                5.0M     0  5.0M   0% /run/lock
/dev/sda15                           244M  152K  244M   1% /boot/efi
//user123.your-storagebox.de/backup  1.0T  5.6G 1019G   1% /mnt/storagebox

System info
INFO
=========
Yarn: 3.7.0
Node: v20.17.0
Dash: 5.9.0

Cwd: /app
Hash: 696233f6378f4af6c45bf88144dcec4edb38f8ba
Platform: Linux 5953b1293e84 6.1.0-28-arm64 #1 SMP Debian 6.1.119-1 (2024-11-22) aarch64 GNU/Linux
Docker image: base
In Docker: true
In Docker (env): true
In Podman: false

Logs

Click to show/hide
dashdot-1  | listening on *:3001
dashdot-1  | Using default network interface "eth0"
dashdot-1  | Using host os version from "/mnt/host/etc/os-release"
dashdot-1  | Static Server Info: {
dashdot-1  |   os: {
dashdot-1  |     arch: 'arm64',
dashdot-1  |     distro: 'Debian GNU/Linux',
dashdot-1  |     kernel: '6.1.0-28-arm64',
dashdot-1  |     platform: 'linux',
dashdot-1  |     release: '12',
dashdot-1  |     uptime: 76769.13,
dashdot-1  |     dash_version: '5.9.0',
dashdot-1  |     dash_buildhash: '696233f6378f4af6c45bf88144dcec4edb38f8ba'
dashdot-1  |   },

dashdot-1  |   storage: [
dashdot-1  |     {
dashdot-1  |       size:<PHONE_NUMBER>8,
dashdot-1  |       disks: [ { device: 'sda', brand: 'QEMU', type: 'SSD' } ]
dashdot-1  |     }
dashdot-1  |   ],

dashdot-1  |   config: {
dashdot-1  |     port: 3001,
dashdot-1  |     running_in_docker: true,
dashdot-1  |     accept_ookla_eula: false,
dashdot-1  |     use_network_interface: undefined,
dashdot-1  |     speed_test_from_path: undefined,
dashdot-1  |     fs_device_filter: [],
dashdot-1  |     fs_type_filter: [],
dashdot-1  |     fs_virtual_mounts: [ '//user123.your-storagebox.de/backup' ],
dashdot-1  |     disable_integrations: false,
dashdot-1  |     show_dash_version: 'icon_hover',
dashdot-1  |     show_host: false,
dashdot-1  |     custom_host: undefined,
dashdot-1  |     page_title: 'dash.',
dashdot-1  |     use_imperial: false,
dashdot-1  |     network_speed_as_bytes: false,
dashdot-1  |     always_show_percentages: true,
dashdot-1  |     enable_cpu_temps: false,
dashdot-1  |     cpu_temps_mode: 'avg',
dashdot-1  |     widget_list: [ 'os', 'cpu', 'storage', 'ram', 'network' ],
dashdot-1  |     os_label_list: [ 'os', 'arch', 'up_since' ],
dashdot-1  |     cpu_label_list: [ 'brand', 'model', 'cores', 'threads', 'frequency' ],
dashdot-1  |     storage_label_list: [ 'brand', 'type', 'size', 'raid' ],
dashdot-1  |     ram_label_list: [ 'brand', 'type', 'size', 'frequency' ],
dashdot-1  |     network_label_list: [ 'type', 'speed_up', 'speed_down', 'interface_speed' ],
dashdot-1  |     gpu_label_list: [ 'brand', 'model', 'memory' ],
dashdot-1  |     os_widget_grow: 2.5,
dashdot-1  |     os_widget_min_width: 300,
dashdot-1  |     cpu_widget_grow: 4,
dashdot-1  |     cpu_widget_min_width: 500,
dashdot-1  |     cpu_shown_datapoints: 20,
dashdot-1  |     cpu_poll_interval: 1000,
dashdot-1  |     cpu_cores_toggle_mode: 'toggle',
dashdot-1  |     storage_widget_items_per_page: 3,
dashdot-1  |     storage_widget_grow: 3.5,
dashdot-1  |     storage_widget_min_width: 500,
dashdot-1  |     storage_poll_interval: 60000,
dashdot-1  |     ram_widget_grow: 4,
dashdot-1  |     ram_widget_min_width: 500,
dashdot-1  |     ram_shown_datapoints: 20,
dashdot-1  |     ram_poll_interval: 1000,
dashdot-1  |     speed_test_interval: 240,
dashdot-1  |     speed_test_interval_cron: undefined,
dashdot-1  |     network_widget_grow: 6,
dashdot-1  |     network_widget_min_width: 500,
dashdot-1  |     network_shown_datapoints: 20,
dashdot-1  |     network_poll_interval: 1000,
dashdot-1  |     gpu_widget_grow: 6,
dashdot-1  |     gpu_widget_min_width: 700,
dashdot-1  |     gpu_shown_datapoints: 20,
dashdot-1  |     gpu_poll_interval: 1000,
dashdot-1  |     override: {
dashdot-1  |       os: undefined,
dashdot-1  |       arch: undefined,
dashdot-1  |       cpu_brand: undefined,
dashdot-1  |       cpu_model: undefined,
dashdot-1  |       cpu_cores: undefined,
dashdot-1  |       cpu_threads: undefined,
dashdot-1  |       cpu_frequency: undefined,
dashdot-1  |       ram_brand: undefined,
dashdot-1  |       ram_size: undefined,
dashdot-1  |       ram_type: undefined,
dashdot-1  |       ram_frequency: undefined,
dashdot-1  |       network_type: undefined,
dashdot-1  |       network_speed_up: undefined,
dashdot-1  |       network_speed_down: undefined,
dashdot-1  |       network_interface_speed: undefined,
dashdot-1  |       network_public_ip: undefined,
dashdot-1  |       storage_brands: {},
dashdot-1  |       storage_sizes: {},
dashdot-1  |       storage_types: {},
dashdot-1  |       gpu_brands: [],
dashdot-1  |       gpu_models: [],
dashdot-1  |       gpu_memories: []
dashdot-1  |     }
dashdot-1  |   }
dashdot-1  | }

dashdot-1  | First measurement [Storage]: [<PHONE_NUMBER>4 ]

After reverting to version 5.7, the network drive appears in split view.
@MauriceNino commented on #252 on Aug 9, 2022:

@dawesry Network drives can not be shown, as there is no physical information available. The newest version filters its size out, so that it doesn't contribute to the total size.
You can try using DASHDOT_FS_VIRTUAL_MOUNTS with a value of nfs4 to at least show it as a virtual mount in the split view.

Why is it not possible to include the storage of a network drive in the unified view? The pie chart only needs to incorporate space used and space available, both of which are visible in split view.
Failing that, how can I make only the network drive visible in split view, and hide the local system drive? Any attempts to do that seem to result in a 'broken' outlined local drive.


Issue with empty POST_DATA with Content-Type "application/x-www-form-urlencoded"

Hi,
I have a cgi call with method POST and content-type application/x-www-form-urlencoded.
The payload is two variables: sessionid and command.
sessionid is a uuid and command is %2Fusr%2Flibexec%2Fopkg-call%20list-available
I wrote a bash script to display everything and the HTTP_CONTENT_LENGTH variable has value 96 (which is correct) but the POST_DATA variable is not set.
Take from your documentation I built the following command:
wget -O - -q --post-data="sessionid=999999f9999998877665544332211007&command=%2Fusr%2Flibexec%2Fopkg-call%20list-available" http://<IP_ADDRESS>:8080/show/weekly?mode=summary

Inside my script I put printf "POST_DATA         [%s]\n" $POST_DATA but it's always empty.
When putting inspect in the Placeholders I can not see http.request.body...
Could you help me to get the form data in my bash script?
This is the missing part to make OpenWrt LuCI work with Caddy 🙏
Caddy built from official website and here is the info:
caddy --version
v2.6.4 h1:2hwYqiRwk1tf3VruhMpLcYTg+11fCdr8S3jhNAdnPy8=

Never mind, I did not see a part of the bash script you wrote in the documentation.
I was missing :
if [ "POST" = "$REQUEST_METHOD" -a -n "$CONTENT_LENGTH" ]; then
  read -n "$CONTENT_LENGTH" POST_DATA
fi

This allows to have the actual body into $POST_DATA.


There are bubble border color and other style settings that are not working

The border color and border width are not working
bubbleBackground: '#353535',
bubbleBorderWidth: 0,
bubbleBorderStyle: 'none',
bubbleFromUserBorderWidth: 5,
bubbleBorderColor: 'green',
bubbleBorderRadius: 0,
bubbleFromUserBorderColor: 'black',
bubbleFromUserTextColor: 'white',
bubbleTextColor: 'white',
sendBoxTextColor: 'white',
bubbleFromUserBackground: '#353535',

Can you fill out the bug form? What versions of Web Chat are you using?

@compulim is new and is not in 4.5 yet. What version is current?

Current production version is 4.5, which was released 11 days ago.
bubbleBorderWidth is in #2137, which is merged 4 days ago, and is in the development build of 4.6.

Late october is so late ... wish it was earlier we have a production release coming up...

If you need these changes immediately, please see our documentation on pointing to our MyGet feed for latest bits.

Is it working now?
Cannot set bubbleFromUserBorderColor: 'rgb(89,101,109)' in style options.
Only the default #e6e6e6 is working.
Using 4.5.3 version of the webchat.

i am using in the below mentioned way and it is working fine. I am also using 4.5.3 only.
bubbleFromUserBackground: 'rgba(0, 255, 0, .1)',


[BUG] Cloudformation stack failing at InstallerWaitCondition creation

Receiving error when I am running the CF stack for RES.
I created the demovPC using the stack provided in the pre req for RES documentation.
I also increased the service limits.
I was getting the cycling instances and did not receive the starting email the first 3 times I ran the CF template. I deleted the stack 3 times. the 4th and 5th time the stack doesnt even complete creation process. It gets stuck at creation of InstallerWaitCondition without any meaningful error.
Browser - Chrome, OS - Windows

In the CloudFormation console, change the filter from Active to Deleted stacks. then check the events in the deleted stacks for a create operation that might have failed. If that can be found, please post the cause of the failure.

Look for spaces in your OUs e.g. dc=corp, dc=res etc will cause this issue dc=corp,dc=res will not

Steps to identify the specific issue can be found in the troubleshooting doc here - https://github.com/aws/res/wiki/Troubleshooting#the-cloudformation-stack-creation-failed-with-waitcondition-received-failed-message-error-statestaskfailed


WIP - KubeCon SLC

PR placeholder - for next KubeCon, import page from Google Site
(Some sed expressions will need to be updated before this can be merged)

There is a draft KUBECON.md in here, I am going to try to add it by hand to:

fluxcd/website#2077

so we can test preview the changes before this is finally deployed
(or if that turns out to be too difficult, I will test the preview locally and we can merge it just this once)
As before, we should be able to preview changes as markdown before they get deployed on the live site, as a PR in fluxcd/community that triggers deployment in fluxcd/website, only upon getting merged.
This is almost ready to go live now 🤞


Attempt to add Generic Wrapped

#10311 Option 2

Sorry for exercising CI 10 time, but I finally get it works!

@froystig WDYT?

I think this is current version mypy's limitation. I haven't used pytype(could you check it with pytype?), but I think pyright can work well with partial(jit, ...).


PowerUp Resource Model

Change Description

Merge PowerUp resource model into develop. More information can be found in the following links:
1.8.4.rc1 Release Notes
#536
Deployment Changes

[ ] Deployment Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

Did not think this through and will need to create a new PR.


fix: need to be able to create the dataset as part of the flow

Need to have the flow create the dataset to get this deployment working
also fixing issue with main deployment dataset name
https://mozilla-hub.atlassian.net/browse/MSDO-81

this PR is now converted to reverting the changes to this flow....big query access is preventing the proper dataset from being created as needed.


stream-settings: Fix stream privacy update event handling.

There was a bug when updating stream privacy with message list not narrowed to a stream as 'narrow_state.stream_sub().stream_id', added in 933195f7a55, tried to access stream_id field even when narrow_state.stream_sub() returned undefined.

Fixes:  https://chat.zulip.org/#narrow/stream/9-issues/topic/Error.20when.20changing.20channel.20permission.20.28privacy.29

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Merged, thanks @sahil839!


Chinese translation

zh.zip

Added the translation in the last mod's version. Thank you for your contribution:)


Split Tracker good/useless item categorization into three

Currently, deciding whether an item is good ("progression") is largely arbitrary and depends exclusively on the item type itself.
Some effort was made to extend this to include more logic in 719153e88bed8c53c7feae48eecbda6c04f3cd3e, but it is ultimately still mostly flawed because it relies on whether the item at the end of the chain is "good" or not.
My suggestion would be to split this into three categories:

Strictly required for go mode. This depends on logic and currently tracked items.
Examples: Morph Ball; Pegasus Boots when GT Big Key is on Bob's Torch; the first (two) Power Bombs.
Nice to have but technically skippable. For example, mail upgrades.
Everything else, like missiles, arrows, rupees, etc.

@MattEqualsCoder Should we make this configurable?
I imagine what's useful differs mostly based on skill level (and seed, of course. Maybe we could also factor that in without spoiling somehow?). Betus getting baited by hints and ending up with a sword is something different from, for example, me playing.

Yeah, this is pretty tricky because some things are sort of fluid and dependent on progression. For example, level 1 and 2 swords are required for checks and should be labeled as such. Levels 3 and 4 would be nice to have. Shields generally are not important, but they can be technically required if you don't get the cape or cane of byrna for TR.
I think for swords it may just be best to code something special for them sadly to factor that in. Other than that, I almost wonder if we need to have 4 categories:

Almost certainly required - These are things that you tend to need for every single seed. Level 1 sword, morph ball, gloves, etc.
Possibly required - This would be for checks that will open up a few locations, but could be skippable depending on the circumstances. Cape, level 2 sword, bottle, wave beam, etc. Keys might go in here in keysanity? But honestly there are so many keys I could almost see the argument of them being their own hint category.
Nice to have - Same as above. I'd maybe add maps to this category if in keysanity.
Everything else - Same as above.

Items could be specifically placed in these categories, but another option could be that we could do something similar to how progression item locations are picked. Basically we could take the player's current inventory, give them all other potential progression items except for the item(s) at the location(s) and see if there are any locations that would be opened up if you give the player that item. If it opens up like 1-5 locations or something, it'll be stated to be possibly required. If it's more, we say it's almost certainly required.
One thing that makes this solution nice is that it could factor in people doing things out of logic as well as account for multiple options for item requirements. For example, early on it may say that the speedbooster is almost certainly required, but later on if people mockball, get other items that make the speedbooster not as important, etc. it could be down to there just being a handful of locations that are left that could require it and it would be listed as possibly required.

So I think with the hint changes, I'm not sure if this is necessary anymore?


please tag releases

Hi,
I have begun packaging of Beaker Notebook for Debian.
It seems the zip releases at http://beakernotebook.com/downloads contain pre-computed code, whereas source code is here at github. I fail to locate the exact source code corresponding to each of those zip releases, however.
Please tag zip releases here at github.

thanks for the feedback jonas.  the releases have git hashes that identify the source.
but you are right it's hard to find, IMO we should release src as well.  i could easily do it
from our own servers as zip, right next to the release bins you see.
we don't do "releases" on github since (i vaguely remember?) there was a size
limit but that seems to have gone away: https://help.github.com/articles/distributing-large-binaries/
i realize there are differing approaches to branch management. does debian have a standard?
when we first started using github we used releases but there was a problem and we switched
to just use branches.
do you have an automated system we can plug into?

Quoting Scott Draves (2015-10-01 04:11:37)

thanks for the feedback jonas. the releases have git hashes that
identify the source.
but you are right it's hard to find, IMO we should release src as
well. i could easily do it from our own servers as zip, right next to
the release bins you see.

I noticed the hashes, but failed to find a match:
hash=$(echo beaker-notebook-v1.3.4-0-g37d7759-ubuntu.zip | cut -d- -f5)
git clone https://github.com/twosigma/beaker-notebook
cd beaker-notebook
git log g37d7759 --
...leads to "fatal: bad revision 'g37d7759'" :-(

we don't do "releases" on github since (i vaguely remember?) there was
a size limit but that seems to have gone away:
https://help.github.com/articles/ distributing-large-binaries/

I don't use Github much myself so am not familiar with their
constraints, nor the difference between their /tags and /releases - but
what seems possible and I believe is fine for my needs is if you make a
tag "v1.3.4" (or "v1.3.4-0" if that subversion isn't from same source)
the same as you did "v1.3.3-electron":
https://github.com/twosigma/beaker-notebook/tags

i realize there are differing approaches to branch management. does
debian have a standard?

Most commonly, upstreams of Debian provide source tarballs (and often
also binary tarballs/zips/rpms/debs that Debian simply ignore), but
that's not a "standard": Other release styles are not inferior nor less
correct, as long as source is provided.

when we first started using github we used releases but there was a
problem and we switched to just use branches.

Perhaps ignore "releases" and care only about "tags" at Github?

do you have an automated system we can plug into?

We have tools to monitor web pages with lists of tarball URLs.  The
github /tags page and your own /downloads page are both fine for that
tracking system of ours - but the latter seems to not be true source and
the former lack (recent) tags.
We might just as easily trck some other data point of yours - it is just
a guess from my side that the easiest is to tag at Github.  Maybe if you
explain where that "g37d7759" hash belong I can better understand your
workflow and align with it - you might not need to change a bit :-)

Jonas

--

Jonas Smedegaard - idealist & Internet-arkitekt
Tlf.: +45 40843136  Website: http://dr.jones.dk/

[x] quote me freely  [ ] ask before reusing  [ ] keep private

previous: https://github.com/twosigma/beaker-notebook/releases/tag/1.3.4
current (as of today!): https://github.com/twosigma/beaker-notebook/releases/tag/1.4
going forward i will release src zip as well.

Quoting Scott Draves (2015-10-01 23:58:33)

previous: https://github.com/twosigma/beaker-notebook/releases/tag/1.3.4
current (as of today!): https://github.com/twosigma/beaker-notebook/releases/
tag/1.4
going forward i will release src zip as well.

Looks perfect!

Jonas

--

Jonas Smedegaard - idealist & Internet-arkitekt
Tlf.: +45 40843136  Website: http://dr.jones.dk/

[x] quote me freely  [ ] ask before reusing  [ ] keep private


implement StateOverride as a safer alternative to working with Map<Address, AccountOverride> directly

Description
Also fixes a bug with apply/mergeChanges where it would keep a reference to override from other, which would mean that subsequent apply calls would modify the original value, possibly leading to hidden bugs.

Solution

#106  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @ArtificialPB and the rest of your teammates on  Graphite


[Pipeline] optimize multiapi generation

when generating multiapi package, autorest.python can't remove old folder which result in genreation failure in pipeline: https://github.com/Azure/azure-rest-api-specs/pull/22639. So we have to delete old folder in pipeline before generation.

/check-enforcer override


MSID: 94174 Version: 2 DOI: 10.1101/2<IP_ADDRESS>3965

MSID: 94174
Version: 2
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>3965
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=94174
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>3965

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/94174v2
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>3965
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/94174/v2/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

Email addresses and present address note need fixing

@acollings - sorry, another one: please can you confirm we're OK with two evidence terms here?

@JGilbert-eLife urgh! Edited. Can we please update the assessment for the first version of the RP too (I've updated hypothes.is)?

Thanks @acollings; the first version should have updated automatically when I re-ran the article in Temporal.


Support edge runtime

This PR continues the effort started by @logan-anderson in #4363 and allows self-hosted TinaCMS to run on edge-runtimes.
List of changes
Split up @tinacms/graphql database
The<EMAIL_ADDRESS>file is split up into remote.ts and local.ts, with local.ts containing all the node-specific code that accesses the file system and remote.ts containing all the platform-independent code.
Add worker export to @tinacms/graphql
A new entry is added to the exports map in package.json with the "worker" key to target edge runtimes. It exports index-edge.ts which in turn exports the remote database part plus the resolve function.
Add worker export to @tinacms/datalayer
A new entry is added to the exports map in package.json with the "worker" key to target edge runtimes. It re-exports resolve and createDatabase from @tinacms/graphql and provides a stub for createLocalDatabase that throws an Error when invoked.
Add edge bundle to @tinacms/mdx
The build script for @tinacms/mdx is modified to create yet another bundle flavor, which again targets edge runtimes.
Lax Level type
The Level type alias in<EMAIL_ADDRESS>now no longer enforces a specific TFormat, which is the type that level implementations use internally to store data. This change allows use implementations like d1-level which uses strings internally.
Notes
The new package exports still contain imports of Node built-ins like url or process that need to be polyfilled by the consumer. My first approach was to bundle all dependencies and include them in the @tinacms/datalayer edege export (just like @tinacms/mdx does), but I decided against this so that packages like abstract-level can be shared between tinacms and the consumer and don't end up twice in the final worker. In case of Cloudflare pages this can be achieved via the wranger --node-compat option.

Hey @fgnass
This looks good! I'll test it out tomorrow and give it a review 🙏

Any updates? I'm excited about this implementation for supporting edge runtime at Cloudflare Workers

Looking forward to this

@fgnass In order to move this along I've created a new branch based off your work here. I've also got a branch of the self hosted demo to implement it on a branch using vercel edge runtime.
As of now I'm currently this error when building:
./pages/api/tina/[...routes].ts
Dynamic Code Evaluation (e. g. 'eval', 'new Function', 'WebAssembly.compile') not allowed in Edge Runtime
Learn More: https://nextjs.org/docs/messages/edge-dynamic-code-evaluation

The error was caused by importing<EMAIL_ADDRESS>in './pages/api/tina/[...routes].ts'.

Import trace for requested module:
  ./pages/api/tina/[...routes].ts

I don't think we are doing any dynamic code evaluation, so will need to figure out why that's happening.

Made a bit more progress on this. Was able to get the build to complete. Getting this error when deploying:
Error: The Edge Function "api/tina/[...routes]" size is 2.09 MB and your plan size limit is 1 MB. Learn More: https://vercel.link/edge-function-size

Added bundle analyzer to the branch in self-hosted-demo which can be run using ANALYZE=true npx next build. It looks like @tinacms/mdx accounts for a about 330kb but from seems like there will need to be a lot of work to reduce the size to get it under the free limits.

Intention is to merge PR https://github.com/tinacms/tinacms/pull/4728 and create a spike to further improve support for edge.


IOS Url Video Error when no file extension?

Hi, i have a server that uses tokens to protect streams the files dont have a file extension and it errors out, im running on IOS, heres the log. PS. It works on vlc player.
2020-05-07 08:42:43.781408-0500 Runner[2273:535263] flutter: VideoUrl: https://fs1.firemedia.mx/archi5/a9/a9ed1111885007b672650f226cacf9c9?st=veDg1jnZRHZoURJihVBxZg&e=1588869689
2020-05-07 08:42:49.467192-0500 Runner[2273:535263] [VERBOSE-2:ui_dart_state.cc(166)] Unhandled Exception: PlatformException(VideoError, Failed to load video: Cannot Open, null)
2020-05-07 08:43:12.967035-0500 Runner[2273:535263] [VERBOSE-2:ui_dart_state.cc(166)] Unhandled Exception: NoSuchMethodError: The getter '_duration' was called on null.

Same issue here.
Reported since 2020, any news ?

The issue lies with the Flutter cache manager. If you first cache the video and then provide the file to Chewie, Flutter cache manager adds ".bin" to the video files, which is not a valid video extension.


SerializeCql is a confusing name for a macro

As evidenced by https://github.com/scylladb/scylla-rust-driver/issues/896 , SerializeCql is a confusing name for a macro that allows serializing UDT. It should be called SerializeUDT.

It is very common for derive macros to have exactly the same name as the trait they implement. To me at least, it's confusing when you write #[derive(SerializeUdt)] while there is no corresponding SerializeUdt trait.
Perhaps we could change both the trait and macro name to SerializeValue instead - that way it will be clear that it's about serializing values and not rows.

I tried to get the right documentation to render in scylla without moving the comments, without success. No combination of #[doc(inline)], #[doc(no_inline)] and changing exports (e.g. importing SerializeRow / SerializeCql directly apart from the wildcard import) did the trick.
Do we need those examples to compile? We have other tests for those macros, so imo the easiest solution is to move the docs to scylla_macros crate and mark examples as ignore. This would get rid of another problem that I don't think can be solved differently: even in scylla_cql crate, the placeholder comment from scylla_macros is appended to docs. So the end of SerializeCql docs is currently:
#[scylla(rename = "name_in_the_udt")]

Serializes the field to the UDT struct field with given name instead of its Rust name. See the documentation for this item in the scylla crate.

Note the last sentence, that should not be there.

With @Lorak-mmk, we prefer the name change of both the trait and the derive macro to SerializeValue. We need to remember to rename the upcoming DeserializeCql to DeserializeValue as well.