Opening Admin UI locks DB for production site using JS SDK

When I open built-in Admin UI in a browser tab, it usually takes about 60 seconds for the UI to appear.
During that time, the web app I created and host in production (opened in another browser tab) that connects to DB file is prevented from reading DB and returning results until admin UI finishes loading (which I find unusually slow).
I know that with SQLite there can only be one write at a time, but why are reads (using JS SDK) blocked when Admin UI is loading? Why is this happening?

Please don't open issues like this. I consider it low effort and lazy.
Without any details about your setup, what amount of data you are operating with, are there are any custom hooks code, transactions, indexes, etc. I really don't know how to help you.
In any case, for general purpose questions consider opening a Q&A discussion with more details about your environment and ideally some steps to reproduce. See also https://github.com/pocketbase/pocketbase/discussions/3859#discussioncomment-7744045.

When you say it is "low effort and lazy"... what do you mean? I followed the documentation to construct queries with filters API. I use stock Pocketbase executable on my server with defaults applied. I don't see anything else in the docs that would inform a user of such issues.
When I open Admin UI, it opens users table by default which has 1 record. (That takes about 60 seconds to load). My DB has miniscule amount of data (between 100-200 records in total spread between 6 tables, one of them has a relation to another table).
When the Admin UI eventually finishes loading, my web app is extemely fast (it loads results--and I usually have 2 queries per "page"--in less than a 1s).
From a user point of view, loading Admin UI is a affecting other queries and it is an "issue". What other information might be helpful to investigate this issue? Perhaps I could post it here.

By "low effort and lazy" I mean that there is literally no information how to reproduce it.
It literally reads like "It doesn't work on my computer. How to fix it?".
How to fix what exactly?
I'm not ruling out a PocketBase issue but your description just doesn't really make sense and there is nothing concrete to analyze or work on.
I'm using PocketBase in production for Presentator.io and I'm not experiencing this (see more details about its setup in https://github.com/pocketbase/pocketbase/discussions/4254).
Additionally no other user so far has reported such issue.
Please understand that this is a non-commercial open source project I work on it on volunteer basis. I know that this may sound rude but if you expect dedicated support you'll be better using something else.
If you still want help, please:

open a Q&A discussion
provide clear reproducible steps so me or someone could follow and attempt to reproduce your issue locally
what are the versions of the PocketBase executable and JS SDK
any additional information about your setup (eg. where it is deployed, are you behind a reverse proxy, etc.)

Why did you close this issue? I'm beginning to think I probably made the wrong choice using Pocketbase.

Because I don't think it is PocketBase related. The issue being closed indicates that no action can be further taken.
And again, without steps to reproduce I don't understand what is the expected behavior here.
I'll stop engage further. If you want help provide clear reproducible steps and I'll try to have a look at it but until then there is nothing much I can assist you here.

I am using Pocketbase v0.22.21.
Here are the steps.

Open Pocketbase Admin UI in a browser tab (takes 30-60 seconds)
While Admin UI is loading, open web application using Pocketbase client SDK (JS) in another tab.
Wait until Admin UI finshes loading to see web application data appear.
When opening web app without opening Admin UI at the same time, the app queries take less that 1s.

Attached is are my collections.
pb_schema.json
I host Admin UI using nginx reverse proxy setup described in the docs but I don't think this should have any bearing on SQlite query performance in another hosted application.

I've imported your schema locally but I'm still not able to reproduce your issue.
The steps I've taken:

Initialized a brand new project with the prebuilt PocketBase v0.22.21 executable (no custom hooks or anything extra).
Imported your db schema.
Created 10 users.
Created 100 codes and 100 feeds dummy records.
Started apache bench several times in the background to send list requests to the 2 collections (e.g. ab -n 100 -c 10 "http://<IP_ADDRESS>:8090/api/collections/{collection}/records")
During the ab run I've tried to interact with the Admin UI and everything operated as expected

I don't how to assist you further.
My recommends are:

Try to reproduce the issue locally with just PocketBase to rule out environment misconfiguration or 3rd-party issue (nginx could have an impact if not configured properly, e.g. enabled throttling, rate limiter, etc.)
If you have custom pb_hooks remove them and test again
Start the executable with --dev to inspect the actual query times

You can rule out directly step 1) by testing with the live demo - https://pocketbase.io/ (it uses a newer PocketBase v0.23.0-rc version but the record apis are the same).
Note that while PocketBase uses SQLite in WAL mode and read requests can executes concurrently, there is no guarantee that the operations will be processed in parallel/simultaneously. This depends on many other factors (e.g. available threads) and for all I know what you are experiencing could be even caused by throttling on CPU/network level by the hosting provider.
Again, I'm not ruling out PocketBase issue but v0.22.x is public for more than six months and no one so far has reported similar issue. As mentioned earlier I'm using PocketBase in production (see https://github.com/pocketbase/pocketbase/discussions/4254) and everything seems to work fine for me so far (the only slow requests I encounter based on the logs are the occasional thumbs generation due to the nature of the application).
If you still think that it is a PocketBase issue, please try to create a minimal reproducible repo with a sample pb_data that illustrates the problem and I'll to investigate it but I think I've spent more enough time based on the current provided steps.

Regarding "I'm beginning to think I probably made the wrong choice using Pocketbase".
I'll repeat what I wrote earlier - this is a non-commercial/hobby open source project and I work on it on volunteer basis and neither you or anyone else is entitled to anything more than what is already published. I made no promises. I'm not here to sell you anything. I don't even benefit anything from you using PocketBase. If you think that I or somebody else owns you something then you free to use something else.

Thank you for replying with the details. I'll follow your suggestions and will test it locally.

One thing to keep in mind is that everything works very fast, even when I interact with Admin UI in production (once the initial load is finished). The initial load of Admin UI is what causes query delays in another app connected to the same DB--the rest of my app (JS, CSS and other files load as quickly as expected)

Again, I'm not experiencing the described behavior. It is possible to be something specific related to your stored data, because I noticed that your schema has a lot of editor and json fields which often get misused (e.g. storing large base64 images), I don't really know.
You can try to experiment with different payloads and narrow down when the issue occur.
You can also try to open the browser's inspect tool and check the Network tab for anything suspicious like slow response time, slow JSON loading/parsing, etc. With v0.23.0-rc there are several extra protections and more reasonable defaults in place to limit and prevent resources misuse and I will consider eventually porting some of them later in v0.22.x but again, without clear reproducible steps the issue as it is described above doesn't really make sense to me.
I'll stop engage in pointless back-and-forth. Feel free to share a minimal reproducible repo and details about your setup once you've identified the culprit and I'll review it.

"I'll stop engage in pointless back-and-forth" ... this is what bothers me about your attitude. By highlighting problems I or others might be having, even though you may think that it's not a problem, you have consistently been discouraging users from engaging with and potentially helping your product. Things you say to your users like "lazy and low effort", "pointless back-and-forth" might be indicative of something; I'll let you think about what exactly. I'm not entitled to anything more than it is already published, that's true, but I spent time to write this to help both myself and potentially Pocketbase.

Fine, this will  be my last reply because I really don't want to argue with strangers on the internet, but will try to elaborate why I behave like this.
Reporting an issue with a vague description and no clear details how to reproduce doesn't help.
To understand this, you can try to imagine a standard work environment where a QA or PM assign a ticket to you with a very vague description of a problem. How would you proceed in that situation - you'll probably try to guess what the other party mean or will return the ticket back to the issuer to provide more details, right? At least that's what I'm doing.
Because of the nature of the project and the tight database integration every issue could be a potential security flow or even worst cause accidental data loss.
And I take security and bug reports very seriously.
When I receive a notification for an issue I literally stop working on everything else and do my best to investigate it and fix it as soon as possible.
Your issue will closed intermediately if I don't think it is PocketBase related and I'm not able reproduce it based on my understanding of the provided description.
If someone else has a similar issue they can simply open a new one. If I notice a pattern then probably there is an issue with PocketBase or maybe both users have applied the same misconfiguration.
See for example just from couple hours ago in https://github.com/pocketbase/pocketbase/discussions/5752. The issue described there is not PocketBase related. The provided initial reproducible is not complete and it is missing the actual Dockerfile the user is building with (the reproducible is missing the encryptionEnv configuration which the user clarified later as a reply because it ended up similar to another issue).
In all cases, a closed issue is not the end of the world. If you provide more details and proper reproducible steps then I'll reopen and reinvestigate it.
This has happened several times in the past, the most recent example probably is https://github.com/pocketbase/pocketbase/issues/5674. But the common part between those reopened issues is that often the initial description has very little or no relation to the actual issue, which results in wasted time and energy for both sides.
And I hope you can at least a little understand why I'm so direct, and maybe sometime annoyed/rude, when I ask for reproducible steps and such are not provided.


Implement new protocol internals to support #3

New protocol should allow for variable length packets.

The protocol schema wouldn't change:

startflag
packet
crc
endflag

However the protocol decoding/encoding functions would change.
decode_protocol()

append new data to buffer
set the beginning of the buffer to the first startflag
cut the buffer at the last endflag
split at each startflag+endflag pair
process each packet (after removing the start/end flags): call decode_packet()

decode_packet()

crc32_received = last 4 bytes (also strips the buffer of the last 4 bytes)
compare with crc computed on the remaining bytes
if not valid, send a nack (contains the message_topic) and return
unpack_uint8_t the topic
unpack_uint4_t the data type (msb) and the data length (lsb)
unpack_x the proper data type and length

This has been changed almost totally by the use of Nanopb.
decode_protocol()

append the new data to buffer
cut the buffer so it starts with the first startflag
cut the buffer at the last endflag
split at each startflag+endflag pair if necessary
for each packet:

put the data minus the last 4 bytes into a buffer, unescape the buffer
make sure the unescaped crc32 is valid compared to the escaped data crc32
extract message using Nanopb

encode_protocol()

add startflag
put the data from Nanopb after escaping it
add escaped crc on the escaped data
add endflag


wrong file opened after click on error

When error is detected and displayed in bottom panel clicking on the file name with error gets me to the main file not the file with error.
app.scss:
@import 'button' ...
button.css :
 //main: app.scss
when error is detected in button.scss clicking on error gets me to app.scss

Thanks for your report! I fixed this bug with version 0.10.5 which I release right now!

updated to 0.10.5 and still has the same error behavior

Can you give me some test content? With latest version, everything seems to work now.

Just like I wrote before. I just checked with simple test files:
main.scss:
@import 'child';
child.css:
// main: main.scss
bad: {

Do you mean child.scss or child.css?? What is the error message? Can you post a screenshot?

It does not matter what is the error message - make any error in child file (in my case I did not close bracket) and click on it - main file is opened.

Well, the only thing i can imagine is that Atom caches the old version because here it's working as it should. Can you have a look at this file:
/Users/<username>/.atom/packages/sass-autocompile/lib/sass-autocompile-view.coffee

... and post content of line 171. It should look like this:
@addText(errorMessage, 'alert', 'error', (evt) => @openFile(args.message.file, args.message.line, args.message.column, evt.target))

After that, you can try executing the follwing command in your terminal and restart Atom:
apm rebuild-module-cache

the 171 looked like it should.
cache rebuild helped! wonder if it's Atom fault and I should rebuild cache manually after every plugin update ? quite annoying if it's the case.
Anyway, thanks for help!

It seems that this my fault and not Atoms. There must be any binding which I do not dispose or something like that. I must have a closer look at my code.


Extend functionality of the Web-Interface

My Environment

ArangoDB Version:        3.4.1
Storage Engine:             RocksDB
Deployment Mode:       Single Server
Deployment Strategy:   Manual Start in Docker
Operating System:        Ubuntu 18.04
Disks in use:        HDD
Used Package:              Ubuntu

Component, Query & Data
Affected feature:
Graph Viewer
Problem:
I would like to extend some functionalities of the Graph Viewer. How should that be done?
Are there some hooks from the web-interface or is this something that should be done with Foxx-Services?
In case there are already Services that implement the Graph Viewer that would probably be a cleaner approach - or is it required to do changes in the Source Code?
In my particular case I would like to add some template-nodes, a button for copying a node or a modified interface for adding new nodes.
Thank you

Hi @qohelet,
the only way to add a functionality to the Graph Viewer is by directly modifying the source code.
The Graph Viewer's source code is located in the following directory:
https://github.com/arangodb/arangodb/tree/devel/js/apps/system/_admin/aardvark/APP/frontend/js/views (graphViewer.js, graphSettingsView.js ...)

Good to know, thank you


Resolver API not exposed in python

Please answer these questions before submitting your issue.
What version of gRPC and what language are you using?
1.4, python
What operating system (Linux, Windows, …) and version?
linux
We would like to hook in a custom resolver like grpc-go. It looks like there is support for this in the C core by registering a global address resolver, but this isn't exposed in python bindings.

@dzbarsky: is this a duplicate of issue 11685?

Yep, basically.

Closing as a duplicate of issue 11685.


Possible bug

I may have discovered a possible bug. When I run python pretrain_tutorial.py, I get some vertical lines when running the visualizer on the random data (Try it yourself, and run the trained model on a new random array).
In the extreme case, I get that all of the queries are attending to the same key. This leads to the effect that, for an input of size (batch_size, input_len, ch), every vector of length ch on the input_len axis will have the same value. To put this in a concrete example, imagine a 32x32x3 picture (RGB, as an example), fed in the model of a batch size of 1,. If the input is (1,32*32,3), every channel of the image will be the same value on every pixel. For example, the R channel will have the value of 128 on each channel, the G channel might have 43, and the B channel may have 212. If the input is (1,3,32*32), every R,G,B channel will look like an image, but they will have the same exact pixel values.
The problem is being investigated. I believe it is a problem with the MHAttention layer, or possibly the positional embedding, but I cannot say for sure. Will update when a fix is found.

I believe the bug has been found. This was in fact not a problem with the MHAttention class, but rather in the way the modules were sequenced. For some reason, the way that I previously indexed my models led to this phenomenon. I'm not exactly how this fixed the problem, but it did, and I'll be pushing a new version shortly (Actually, should already be up in 0.12.4.
Thank you again to lucidrains for coming up with previous transformer implementations so I can take inspiration from them.

@tatp22 oh no problem Peter! :)


Notebook diff: sometimes opens in json diff view

Testing #105770

Open the my-work.github-issues file
Make some changes to it, open it in the changes view
Click on it again in the change view. Now it gets opened in plain json editor view.

So only the first time I click on it do I see the rich view.

Is this expected behavior? First time I click on the file in the scm view, it opens up the rich diff view. Second time I click on it, the json diff view is opened. If I click on the "Go back" arrow in any of the two diff views, a plain json editor view of the file is opened.

It's arguable if the current behavior is good, my feeling is it will lead to confusion at this moment.

Works nice now, thanks for fixing

This original bug was verified by @isidorn and we don't have any further changes.


Inplace operation error

Any one met the same problem?
 warnings.warn('Was asked to gather along dimension 0, but all ' Traceback (most recent call last):   File "train_STE.py", line 109, in <module>     G_loss.backward()   File "/data1/xing_zhao/anaconda3/lib/python3.7/site-packages/torch/tensor.py", line 245, in backward     torch.autograd.backward(self, gradient, retain_graph, create_graph, inputs=inputs)   File "/data1/xing_zhao/anaconda3/lib/python3.7/site-packages/torch/autograd/__init__.py", line 147, in backward     allow_unreachable=True, accumulate_grad=True)  # allow_unreachable flag RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [torch.cuda.FloatTensor [1, 512, 4, 4]], which is output 38 of BroadcastBackward, is at version 2; expected version 1 instead. Hint: enable anomaly detection to find the operation that failed to compute its gradient, with torch.autograd.set_detect_anomaly(True).

I use pytorch 1.3.1 and the problem is done.


API Replace i18n message localisation with symfony/translation

Closes https://github.com/silverstripe/silverstripe-framework/issues/6221
Requires:

[ ] https://github.com/silverstripe/silverstripe-cms/pull/1724
[ ] https://github.com/silverstripe/silverstripe-reports/pull/58

This feature includes advanced pluralisation based on http://symfony.com/doc/current/components/translation/usage.html#component-translation-pluralization
An important upgrading note for this change is that any localisation calls to _t() without a default will now trigger a warning.
All existing Zend_Translate libraries and dependencies have been removed.
This does not replace Zend_Locale, however, which will be addressed later with https://github.com/silverstripe/silverstripe-framework/issues/6194
There are some potential performance issues with this implementation: I will post benchmarking analysis later.

I also have some preliminary feedback from @sminnee which I need to implement:

i18nTextCollector should collect strings, even if they do not have a default defined, to ensure they show up as editable within transifex.
usage of pluralised strings with i18n::_t (rather than i18n::pluralise) should be a warning.

Phew, travis-ci isn't slower, as I had feared. :) Still about ~12 minutes per test run.

Updated based on feedback, as well as result of conversation over at https://github.com/silverstripe/silverstripe-framework/issues/6221#issuecomment-275009696

Note: CMS build can be merged ahead of framework build, so we can restart and see if these tests pass.
https://github.com/silverstripe/silverstripe-cms/pull/1724

https://github.com/silverstripe/silverstripe-cms/pull/1724 is green


add tristan to contrib

@all-contributors please add @twisttaan for infrastructure and code

@all-contributors please add @twisttaan for infrastructure and code


[DRAFT] feat: index cloud cognitive

Closes #731
Repo PR: https://github.com/carbon-design-system/ibm-cloud-cognitive/pull/2063
Filter by:  IBM Products

[ ] Missing thumbnail expressive-card

TESTING

38 total indexed

22 patterns

16 components

TODOS:

[x] @aubrey-oneal double check tags
[x] @jeanservaas thumbnails
[x] @andreancardona double check repo details
[ ] commit cached files  (after ref change)
[ ] switch org, remove ref

LGTM except for expressive-card thumbnail. I also only see 14 components, not 16, looks like options-tile is being skipped (I think 'cause the cached file had an error), are we sure it should be 16, not 15? I counted 37 indexed assets 🤔

should only be 15 sorry about that!!


How to extract the name of the detected emotion?

My query is that I want to extract the name of the emotion that is detected by the API. This is because I want to store that emotion in my app.
const detections = await faceapi.detectAllFaces(videoRef.current, new faceapi.TinyFaceDetectorOptions()).withFaceLandmarks().withFaceExpressions()
Would it be in the detections variable given above? Any help will be appreciated. Thank you!

first, you really don't want to create new instance of options each time you call detect - store that in a constant.
second, yes, it's in the resulting detection object. just do console.log(detection) afterwards to see it's structure.


remove deprecated code - 2161

[Auto generated]
Number: [#2161]

openshift-python-wrapper[pull_request][86fe-11ef-8637-8107c8400161][PR 2161]: Closing issue for PR: remove deprecated code.
PR was closed.


Customize flowchart shapes

hi,
Is it possible to customize a shape in the flowchart diagram ?
I would like to do something like a table with several cells, something like that :
|--------------|------|

blabla
bla

bla bla

-----------
----------

bla bla
bla

-----------
----------

Is that a way to do it ?

Sorry, no such functionality in place.


New Office Mailbox Forwarding Parser

Added new Office Mailbox Forwarding Parser to support blog:
https://techcommunity.microsoft.com/t5/Azure-Sentinel/Using-KQL-functions-to-speed-up-analysis-in-Azure-Sentinel/ba-p/712381

Maybe write this as a function...like Ashwin did for my Sysmon Parser.

Changed this from a parser to a function. Essentially the same thing but tweak to the working and moved folder.

Hi @petebryan ,
I don't know if we have official guidelines around this, but I think that a parser should not include a time range. It would be up to the user using the parser as part of their query to specify a time range.
I recall for the Sysmon parser there was initially a time range built in and it was removed.
~ Ofer

As per @oshezaf time range has been removed from the query.


Use system tmp folder

$HOME is meant for user files. I wish rustup used /tmp instead of $HOME/.rustup/tmp.
Example use case: my home folder at school has a very constrained amount of space (about 3GB), which means that installing, say, rust-src might fail if I run out of space. This is regardless of whether or not I have sufficient space to accommodate the fully installed rust-src component.

To anyone else wo tries symlinking ~/.rustup/tmp to /tmp, it (probably) won't work. tmp needs to be on the same filesystem as ~/.rustup/toolchains/ as rustup uses rename to move the downloaded files.

@Diggsey would you mind explaining why this "feature" should be rejected ?

It's in "needs further discussion", as per @Stebalien's comment. If you run out of space when downloading to the tmp folder, then the install would have failed anyway - all it does is download to the tmp folder and then rename to the correct location, so it would still have failed had it downloaded to a different location, and then copied the files across.


[SPARK] Support infer columns for rebalance and sort

Why are the changes needed?

Improve the rebalance before writing rule.
The rebalance before writing rule adds a rebalance at the top of query for data writing command, however the default partitioning of rebalance uses RoundRobinPartitioning which would break the original partitioning of data. It may cause the the output data size bigger than before.
This pr supports infer the columns from join and aggregate for rebalance and sort to improve the compression ratio.
Note that, this improvement only works for static partition writing.
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

cc @yaooqinn @cfmcgrady

thanks for review, merging to master


Download binary files (if not exists)

Codecov Report
Attention: Patch coverage is 0% with 33 lines in your changes are missing coverage. Please review.

Project coverage is 0.00%. Comparing base (e6914d8) to head (c79c94f).

Files
Patch %
Lines

src/Llm/Program.cs
0.00%
19 Missing and 2 partials :warning:

src/Llm/Gpt2.Train.cs
0.00%
10 Missing :warning:

src/Llm/Gpt2.Test.cs
0.00%
2 Missing :warning:

Additional details and impacted files
@@          Coverage Diff          @@
##            main      #7   +/-   ##
=====================================
  Coverage   0.00%   0.00%
=====================================
  Files          7       7
  Lines       1086    1107   +21
  Branches     124     127    +3
=====================================
- Misses       962     981   +19
- Partials     124     126    +2

Flag
Coverage Δ

Debug
0.00% <0.00%> (ø)

Release
0.00% <0.00%> (ø)

macos-latest
0.00% <0.00%> (ø)

ubuntu-latest
0.00% <0.00%> (ø)

windows-latest
?

Flags with carried forward coverage won't be shown. Click here to find out more.

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


How to modify choose password template and customize email template?

I want to create a new choose password template as per matching of website branding also want to change the look and feel of email received to user. Currently there are no styling applied to email. Email is just in plain text.
One thing I noticed in public_html folder there is no choose_password file which can be override for customization?
Is that not available for any security reason?

@techyrajeev
You should be able to set your own custom choosePassword page by changing your config in index.js in your clone of parse-server-example:
  customPages: {
    invalidLink: 'https://myapp.com/invalid-link',
    verifyEmailSuccess: 'https://myapp.com/verify-email-success',
    choosePassword: 'https://myapp.com/choose-password',
    passwordResetSuccess: 'https://myapp.com/password-reset-success',
  },

where 'https://myapp.com/ is your parse-server-example app.
Please let me know if this does not work.

Hi @cherukumilli
I have done exactly like that for password-reset-success page and it works out of the box. I was just wandering why choose_password page was not provided in public_html folder although I have access to a choose password from a parse page.
Apart from that I was struggling with how can I provide template for email and change the wording of email which was sent to user when user clicks on password reset button.

@techyrajeev
for email, simple email adapters have been provided. for example:parse-server-simple-mailgun-adapter.
If you are using mailgun or other adapters then you should clone this adapter from github and you should modify the email template that is in the project to suit your needs.
Please let me know if this helps. If so, pls feel free to close this issue.

I am using amazon ses adapter. Please let me know how can I change email text there.

@techyrajeev
Please find the body tag in your ses adapter. You should be able to modify the body tag to send your customized html.
body: {
          text: message.text,
          html: message.html,
        }

Hi @cherukumilli
Thanks a lot for your help. I have stuck on other related issue. I used custom choose_password file.
Content of that file is like

Reset Your Password

  We apologize, but resetting your password requires javascript

  <form id='form' action='#' method='POST'>
    New Password for
    <input name="new_password" type="password" />
    <input name='utf-8' type='hidden' value='✓' />
    <input name="username" id="username" type="hidden" />
    <input name="token" id="token" type="hidden" />
    <button>Change Password</button>
  </form>

But when I use it via customPages and put a overrided page in public_html and try to reset the password I get PARSE_SERVER_URL in output as well. It is not replaced with dynamic server url.

If I hard-code it works fine. If you know if this can be dynamically changed based on env variable please suggest me how to do?

This is a common question here in the issues (see https://github.com/ParsePlatform/parse-server/issues/2414). We'd like to limit GH issues specifically to issues with Parse Server, and kindly suggest that implementation/customization questions be posted to Stack Overflow. This will help us get to urgent/blocking issues faster.
Thanks for your question!
Would you like to post this question to Stack Overflow with the tag #parse.com?


Fix focus style being overlapped by summary action links

Fixes the WCAG 2.2 issue of subsequent action links in the summary list component slightly overlapping the currently focused link.
Resolves #3841.
Screenshots

Before
After

Narrow layout

Wide layout

Changes

Summary list action links now receive the isolation: isolate style when focused. This creates a new stacking context, making it appear 'above' the surrounding content.

Thoughts

There are a few ways that creating a new stacking context could have been done. position: relative, transform: translate(0, 0), and others. I've used the isolation property as it is intended specifically for this purpose, on the assumption this fix doesn't need to support IE. (Browser support for isolation)
This issue doesn't affect the action links on summary cards, as they are already separated using row-gap, preventing the overlap from occuring.

Presumably we don't want to do the same thing here, as the action link line spacing is consistent with the content next to it and we probably don't want to change that.

This is great, hadn't seen isolation before
Could it have been solved with "target size" instead as those link heights are quite low on mobile?

https://github.com/alphagov/govuk-frontend/issues/2060

@colinrotherham My presumption is that the current spacing is intentional, as it means the links have a vertical rhythm consistent with the text next to it.

If we increase the size or spacing of the links, we lose that bit of visual consistency.

As there aren't usually more than a 2 or 3 action links (this being a contrived, extreme example), the target size issue probably doesn't manifest itself in a problematic way very often.
The links are also (just barely) large enough to not fall foul of the WCAG 2.2 minimum target size in their current form.

Cleanup Q: should this issue be in the govuk-frontend 5.0.0 milestone?

Ah never mind, I see the issue associated with this pull request is in the 5.0.0 milestone 👍
Here's a full list of the accessibility issues addressed in 5.0, from what I can tell: https://github.com/alphagov/govuk-frontend/issues?q=milestone%3Av5.0+label%3Aaccessibility


Support for encrypted sparsebundles possible?

Hi,
I noticed that https://github.com/sgan81/apfs-fuse supports decrypting DMG's.
I wonder what is needed to enable encrypted sparsevolumes?
It seems the "encrdsa" is the header that inidcates the volume is encrypted is contained in the "token" file.
Your tool mounts a "dmg" file, but (obviously) the content is not structured.
Do you think it is very difficult to add this?
If I where to toy around this, are there pointers to help me?
cheers

RTFM...  see: https://github.com/jief666/sparsebundlefs


XMC - XRTransformer - Recommended way to train on large datasets(200k labels)

Hello,
Is there any recommended way to run XRTransformer on large datasets in terms of AWS machine and environment setup including parameters? I just ran and my python notebook stopped without any logs? Also is there a way to log the errors and warnings?

You can refer to examples here for parameter setups for datasets from 4k to 3m labels (requires p3.16xlarge or better instance).


Adds vcpu and memory label to pricing metrics

Description
This adds vcpu and memory labels to the pricing metric to help calculate costs per VCPU and Gb of memory.
In addition, this adds two new metrics, karpenter_cloudprovider_instance_vcpu_price_estimate and karpenter_cloudprovider_instance_memory_price_estimate which provide a price estimate for a single VCPU and 1 Gb of memory respectively. If an instance has 4 CPU and 16Gb of memory, then (4 * karpenter_cloudprovider_instance_vcpu_price_estimate) + (16 *  karpenter_cloudprovider_instance_memory_price_estimate) == karpenter_cloudprovider_instance_price_estimate. Having the price broken out by 1 CPU and 1 Gb of memory makes it much easier to calculate the cost of a Pod running with   an arbitrary amount of CPU and memory.
How was this change tested?

make test

Does this change impact docs?

[x] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[ ] No

Release Note

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@jonathan-innis Thoughts on this? Instead of trying to break out the instance types and make them available to pricing I ended up just generating a file with cpu and memory, which seems reasonable to me.

Thoughts on this?

Is it possible to get this info directly from GetInstanceTypes() call inside of the InstanceType provider. This has all the EC2 information for the instance type and we could use that for updating the metrics. Essentially, any time there is an update to that response, we would update the metric info. I think that would avoid us having to store static files that have these values.

Is it possible to get this info directly from GetInstanceTypes() call inside of the InstanceType provider. This has all the EC2 information for the instance type and we could use that for updating the metrics. Essentially, any time there is an update to that response, we would update the metric info. I think that would avoid us having to store static files that have these values.

It is, but separating this out from instancetype without coupling pricing is a bit challenging, as most of instancetype is dealing with the cache.
I'll take another stab at that -- I sort of figured the code gen solution wasn't the way forward, but wanted to throw it out there.

I sort of figured the code gen solution wasn't the way forward

I think starting looking in this area is a great place to start!

@jonathan-innis fixed the flakey test, ready for re-review


Rule to recommend against Lists when using += with Array objects

As some of the below articles note, using += with an Array object can be very slow, as it copies the Array into a new Array in-memory. The recommendation is very often to use List objects instead of Arrays to avoid this problem.
Thoughts?
https://stackoverflow.com/questions/14620290/powershell-array-add-vs
https://powershell.org/2013/09/16/powershell-performance-the-operator-and-when-to-avoid-it/

When used in a loop, it's probably a good idea. Otherwise, it may be annoying because there are many reasonable applications of += that may be even faster or just cleaner. New-Object System.Collections.Generic.List[System.Object] is quite an expression to type, parse, evaluate.

Good idea in general but I also agree with @nightroman that one does not care in most situations. I think it would make sense to group PSScriptAnalyzer warnings into something like 3 categories so that one can either configure PSScriptanalyzer to apply only rules of those categories or alternatively filter for them later on:

CodeAnalysis (where stuff can go wrong like e.g. PSPossibleIncorrectComparisonWithNull)
Best Practices (e.g. PSUseShouldProcessForStateChangingFunctions)
PerformanceAnalysis (your array example)


[1605] Update to Rails 5.1.2

Resolves #1605

Updates all other dependencies
Fix security vulnerablity in routes

Merging!


Wrong maillinglist

In http://dubbo.apache.org/zh-cn/docs/developers/guide_dev.html
click the mailinglist<EMAIL_ADDRESS>when called the mail application, you will see the mail address changed to
<EMAIL_ADDRESS>

It's intentionally because to subscribe to the<EMAIL_ADDRESS>you need to mail to<EMAIL_ADDRESS>


Merge template repository changes: remal/oss-template

Template repository changes.
If you close this PR, it will be recreated automatically.

Autoclosing the PR, as no files will be changed after merging the changes from template-sync branch into main branch.


Query error in the "best selling products" question in dashboard after sandboxing

Data sandboxing is implemented in https://github.com/metabase/shoppy/pull/30, but the "Best Selling Products" (https://shoppy.hosted.staging.metabase.com/question/140-best-selling-products-crash-on-sandboxing) query was running into errors when under sandboxing.
When not under sandboxing, the question itself loads without issues. It is using the "Orders + Products" model (see https://shoppy.hosted.staging.metabase.com/model/139-orders-products) which joins together Orders and Products.

When under sandboxing, a query processor error was thrown.

Models
This queries uses the Orders + Products model, which joins together Orders, Products and Product Categories entity.

SQL for this question
Here is the SQL from the "SQL for this question" panel
SELECT
  "product_categories__via__category_id"."name" AS "product_categories__via__category_id__name",
  "products__via__product_id"."title" AS "products__via__product_id__title",
  COUNT(*) AS "count"
FROM
  (
    SELECT
      "source"."id" AS "id",
      "source"."created_at" AS "created_at",
      "source"."product_id" AS "product_id",
      "source"."quantity" AS "quantity",
      "source"."total_price" AS "total_price",
      "source"."discount_applied" AS "discount_applied",
      "source"."customer_id" AS "customer_id",
      "Products"."category_id" AS "Products__category_id",
      "Products"."id" AS "Products__id",
      "Products"."created_at" AS "Products__created_at",
      "Products"."title" AS "Products__title",
      "Products"."description" AS "Products__description",
      "Products"."image_url" AS "Products__image_url",
      "Products"."price" AS "Products__price",
      "Products"."discount" AS "Products__discount",
      "Products"."shop_id" AS "Products__shop_id",
      "Products"."Product Categories - Category__id" AS "Products__Product Categories - Category__id",
      "Products"."Product Categories - Category__shop_id" AS "Products__Product Categories - Category__shop_id",
      "Products"."Product Categories - Category__created_at" AS "Products__Product Categories - Category__created_at",
      "Products"."Product Categories - Category__name" AS "Products__Product Categories - Category__name",
      "Products"."Product Categories - Category__description" AS "Products__Product Categories - Category__description",
      "Product Categories - Category_2"."id" AS "Product Categories - Category_2__id",
      "Product Categories - Category_2"."shop_id" AS "Product Categories - Category_2__shop_id",
      "Product Categories - Category_2"."created_at" AS "Product Categories - Category_2__created_at",
      "Product Categories - Category_2"."name" AS "Product Categories - Category_2__name",
      "Product Categories - Category_2"."description" AS "Product Categories - Category_2__description"
    FROM
      (
        SELECT
          "public"."orders"."id" AS "id",
          "public"."orders"."created_at" AS "created_at",
          "public"."orders"."product_id" AS "product_id",
          "public"."orders"."quantity" AS "quantity",
          "public"."orders"."total_price" AS "total_price",
          "public"."orders"."discount_applied" AS "discount_applied",
          "public"."orders"."customer_id" AS "customer_id"
        FROM
          "public"."orders"
      ) AS "source"

LEFT JOIN (
        SELECT
          "public"."products"."id" AS "id",
          "public"."products"."created_at" AS "created_at",
          "public"."products"."title" AS "title",
          "public"."products"."description" AS "description",
          "public"."products"."image_url" AS "image_url",
          "public"."products"."price" AS "price",
          "public"."products"."category_id" AS "category_id",
          "public"."products"."discount" AS "discount",
          "public"."products"."shop_id" AS "shop_id",
          "Product Categories - Category"."id" AS "Product Categories - Category__id",
          "Product Categories - Category"."shop_id" AS "Product Categories - Category__shop_id",
          "Product Categories - Category"."created_at" AS "Product Categories - Category__created_at",
          "Product Categories - Category"."name" AS "Product Categories - Category__name",
          "Product Categories - Category"."description" AS "Product Categories - Category__description"
        FROM
          "public"."products"
          LEFT JOIN "public"."product_categories" AS "Product Categories - Category" ON "public"."products"."category_id" = "Product Categories - Category"."id"
      ) AS "Products" ON "source"."product_id" = "Products"."id"
      LEFT JOIN "public"."product_categories" AS "Product Categories - Category_2" ON "Products"."category_id" = "Product Categories - Category_2"."id"
  ) AS "source"
  LEFT JOIN "public"."product_categories" AS "product_categories__via__category_id" ON "source"."Products__category_id" = "product_categories__via__category_id"."id"
  LEFT JOIN "public"."products" AS "products__via__product_id" ON "source"."product_id" = "products__via__product_id"."id"
GROUP BY
  "product_categories__via__category_id"."name",
  "products__via__product_id"."title"
ORDER BY
  "count" DESC,
  "product_categories__via__category_id"."name" ASC,
  "products__via__product_id"."title" ASC
LIMIT
  10

Query Log & Stacktrace
The full query log and stacktrace is linked here.
The failing request is POST https://shoppy.hosted.staging.metabase.com/api/dashboard/17/dashcard/131/card/140/query, which returns the error in the above link.
TL;DR: column source.products__via__product_id__title does not exist
How to reproduce in the Metabase app via the Shoppy instance

Request access to the Shoppy instance
Create a new user account (e.g<EMAIL_ADDRESS>and assign yourself a "Shop Admin" role, and set user attributes.
Visit the best selling products question at https://shoppy.hosted.staging.metabase.com/question/140-best-selling-products-crash-on-sandboxing
The error should be there as per the above image.

@bshepherdson I added the problematic queries as well as more info on the models to the issues. I've also invited you to the Shoppy instance to be able to look more into the queries.
The account with<EMAIL_ADDRESS>will give you sandboxed access to be able to replicate the query error, while the @metabase.com account gives you full admin permission.
Let me know if you need anything else - thanks a ton!


Reset Ready condition when update failed

This ensures the Ready Condition is reset when CR becomes once ready but something fails during reconfiguration.
This also fixes incomplete condition handling so that all conditions are initialized and later updated properly.

/lgtm


Log has limit of 10000 after which system becomes unstable

Result window is too large, from + size must be less than or equal to: [10000] but was [10200]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting.

fixed in 0.149


the url is changed, but the view isn't update

See this guide: https://github.com/ReactTraining/react-router/blob/master/packages/react-router/docs/guides/blocked-updates.md


Include NSIF and CSI representatives information in the DCPR request details page

Fixes https://github.com/kartoza/ckanext-dalrrd-emc-dcpr/issues/194
Adds the current NSIF and CSI representatives name and email in the DCPR request details page, as noted in the original issue these details will only be shown to the owner/author of the corresponding DCPR request.
Screenshot of the new DCPR request information

CI checks passed, @Samweli we can meet later for a quick review of the functionality, as this seems straight forward i'am merging


[W.I.P.] Add redirectURI parameter to loginWithMagicLink; Implement loginWithCredential

📦 Pull Request
This PR adds two features to support redirect URIs in the core magic link flow:

Adds redirectURI parameter to loginWithMagicLink
Adds loginWithCredential method to support the redirect "callback"

🗜 Versioning
(Check one!)

[ ] Patch: Bug Fix?
[x] Minor: New Feature?
[ ] Major: Breaking Change?

⚠ Update CHANGELOG.md

[x] I have updated the Upcoming Changes section of CHANGELOG.md with context related to this Pull Request.

:rocket: PR was released in<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>:rocket:


add monitorctrlc for easy gulp watch termination

This will fix very annoying problem with terminating gulp watch command from command line. At least for me (on OS X Yosemite with iTerm2) pressing Ctrl+C has no effect on gulp watch process.

I am on OS X and don't have issues killing gulp watch. Ctrl c works for me.

Unfortunately I don't know the roots of my problem, but monitorctrlc helps me to solve it. It might be useful info for Wiki/docs if not merged.

seems like an issue with your machine/shell? this isn't necessary


Introduces query parameter ef_search for NMSLIB

Description
Integrates NMSLIB with ef_search
curl -XGET "http://localhost:9200/nmslib-hnsw-index/_search" -H 'Content-Type: application/json' -d'
{
  "query": {
    "knn": {
      "nmslib_vector": {
        "vector": [2, 3, 5],
        "k": 2,
        "method_parameters" : {
            "ef_search" : 200
        }
        }
      }
    }
  }'

{
  "took": 6,
  "timed_out": false,
  "_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
  },
  "hits": {
    "total": {
      "value": 2,
      "relation": "eq"
    },
    "max_score": 0.11918951,
    "hits": [
      {
        "_index": "nmslib-hnsw-index",
        "_id": "3",
        "_score": 0.11918951,
        "_source": {
          "nmslib_vector": [
            3.5,
            4.5,
            3.3
          ],
          "price": 12.9
        }
      },
      {
        "_index": "nmslib-hnsw-index",
        "_id": "2",
        "_score": 0.10706638,
        "_source": {
          "nmslib_vector": [
            2.5,
            3.5,
            2.2
          ],
          "price": 7.1
        }
      }
    ]
  }
}

Issues Resolved
https://github.com/opensearch-project/k-NN/issues/1537
Check List - Pending

[ ] New functionality includes testing.

[ ] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

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

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

@shatejas please fix the failing GH actions

@shatejas please fix the failing GH actions

The build in linux is failing with the same failure as main

Shouldn't there be a unit test for this change in nmslib code base?

There are no unit test in the entire lib. There is no way to test it out unless we end up writing it for the entire search which will become a heavy lift.
There is an integ test though and I tested it out using this code https://github.com/shatejas/nmslib/commit/c5dd7cdf6d3c16d3646a434e1d6a7546a9a3a7fc. I did not add it in the patch because its not generic enough. There are some validations in the hnsw code which is making it difficult to add more parameters in the integ test
@heemin32

Build failure will be fixed in https://github.com/opensearch-project/k-NN/pull/1748


fix(viz): bump superset-ui to fix bugs in table and graph chart

SUMMARY
Bump superset-ui to fix bugs in table and graph chart.
What's included:

https://github.com/apache-superset/superset-ui/pull/1082
https://github.com/apache-superset/superset-ui/pull/1084

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
See associated PRs.
TEST PLAN
Manual verification
ADDITIONAL INFORMATION

[ ] Has associated issue:
[x] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

/testenv up

/testenv up

/testenv up

/testenv up


pgadmin: migrate to prefetch-yarn-deps

Description of changes
#240174
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Priorities
Add a :+1: reaction to pull requests you find important.

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

4 packages built:

pgadmin4
pgadmin4-desktopmode
pgadmin4-desktopmode.dist
pgadmin4.dist


Summary statistics not released to public FTP as expected

I checked for 'date submission last updated' going back 7 days and found 3 submissions which have not been released as expected:

'65064a3753c4ef00014a72d6' - GCST90292488 - appears on staging. last updated on 18th. not on public. (parent directory also not on public). Embargo date is ‘2023-09-16’.

appears in the 'unexpected on staging' list of summary statistics release report e-mail.

'650780a153c4ef00014a7b2b' - GCST90267361-GCST90267364 inclusive - appears on staging. last updated on 18th. not on public. no embargo date as not a BoW.

appears in 'unexpected on staging' list.

'64f84d3f788f0000010f81cb' - GCST90281365 - appears on staging. last updated on 14th. no embargo date as not a BoW.

appears in 'unexpected on staging' list.

The most recent submission I can find which was released correctly:

'64f84d3f788f0000010f81cb' - eg. GCST90281274 - lasted updated on 12th. released to public on 15th. Embargo date was '2023-09-12'.

had appeared in the 'unexpected on staging' list on 13th. A ticket was made to release manually.

@earlEBI could you please help check this in details ...

@sprintell The first two have been released as expected. The third one needs to be prioritised for curation by curators in order to be released.

@Santhi1901 confirmed all unembargoed GCSTs to date have been released. Closing ticket, but we will keep an eye going forward.


[11.0.0 rc1.1] Texts are displaced up on Linux, working fine on Win11

Describe the bug
Hello,
I am migrating my program to Avalonia 11.0.0 rc1.1 and the texts are displaced with a "margin bottom" on Linux, but they are appearing fine on Windows.
To Reproduce
Code if you want to clone:
https://github.com/alexandrehtrb/Pororoca/tree/develop
Expected behavior
The appearance and layout should be the same on both platforms.
Desktop (please complete the following information):

OSes: Arch Linux x64 with GNOME, Windows 11 x64

Screenshots
On Linux:

On Windows:

You are probably not shipping a default font with your app

Note, if you want to include Inter font (which was included by default in 0.10), then you need to add Avalonia.Fonts.Inter package and add .UseInterFont() to your app builder.


Generate json

Is there any way automatically generate json file?

I have an old script here

Thanx

Also found in web some info about php tool for that http://zurb.com/forrst/posts/Generate_a_JSON_list_based_on_files_in_a_directo-GDc

@Copylefter cool thanks

And that https://plusmagic.wordpress.com/2013/01/28/jquery-html5loader/


Superset how to support custom add Color Scheme?

Well, I am having a problem now, I want to add a Color Scheme to Chart Options, but I have tried a lot of methods that can't solve this problem, including modifying ${SUPERSET_HOME}/static/assets/src/modules/colors.js, I tried to add the following code to it
export const newColorScheme = [
  '#a4f2b8',
  '#abc8fa',
];

export const ALL_COLOR_SCHEMES = {
  bnbColors,
  d3Category10,
  d3Category20,
  d3Category20b,
  d3Category20c,
  googleCategory10c,
  googleCategory20c,
  lyftColors,
  newColorScheme,
};

This is a screenshot of the problem I encountered:

Superset version
incubator-superset-0.26.3
The result I want is that I can choose my custom Color in Color Scheme.
If you want to reproduce, you can click Charts in the menu bar, then select a chart, click Style, you can see Color Scheme, you can choose a color scheme, as shown below:

Your code change seems right, but did you properly rebuild the js bundles and did you setup your dev environment properly? Read the CONTRIBUTING.md file for more information on setting up your dev env.

You can rebuild the js package by running the command.
cd ${SUPERSET_HOME}/assets/
./js_build.sh
npm run dev

Instructions are here https://github.com/apache/incubator-superset/blob/master/CONTRIBUTING.md

The 2019-01-30 version of CONTRIBUTING.md does not mention anything about adding custom color schemes. Checked by searching for the keywords "color" and "scheme" on the historic version of that file.
The steps outlined in the OP seem to no longer be applicable following this change: a7b52da6. Moreover, no Markdown files were changed in #6234.
So, what's the correct way to add a custom color scheme to Superset now?

@ilyakam To add custom schemes, in case of a "Categorical Scheme" you need to import the CategoricalScheme class from the module "@superset-ui/color", here is an example:
import { CategoricalScheme } from '@superset-ui/color';

const schemes = [
  {
    id: 'testColors',
    label: 'Test Colors',
    colors: ['#2d51a3', '#7d7f82', '#2061e0', '000000'],
  },
].map(s => new CategoricalScheme(s));

export default schemes;

then you need to import this into /superset/assets/src/setup/setupColors.js and add it to the already existing schemes, you should end up with something like this:
import testColors from '../myColors/myColorSchemes';

export default function setupColors() {
  // Register color schemes
  const categoricalSchemeRegistry = getCategoricalSchemeRegistry();
  [airbnb, categoricalD3, google, lyft, testColors].forEach((group) => {
    group.forEach((scheme) => {
      categoricalSchemeRegistry.registerValue(scheme.id, scheme);
    });
  });
  categoricalSchemeRegistry.setDefaultKey('bnbColors');

Could someone take a couple of minutes to guide us how to do that ?
What requirements ?
How can we customize in production enviroment with WSGI HTTP Server?

It seems most of this advice has become outdated. How can I add a custom color scheme using the Docker workflow in 2021?

It seems most of this advice has become outdated. How can I add a custom color scheme using the Docker workflow in 2021?

@mhconradt https://github.com/apache/superset/pull/12210 this is available in v1.0, let us know if that helps

@mhconradt https://github.com/apache/superset/pull/12210 this is available in v1.0, let us know if that helps

The 2019-01-30 version of CONTRIBUTING.md does not mention anything about adding custom color schemes. Checked by searching for the keywords "color" and "scheme" on the historic version of that file.
The steps outlined in the OP seem to no longer be applicable following this change: a7b52da. Moreover, no Markdown files were changed in #6234.
So, what's the correct way to add a custom color scheme to Superset now?

Your code change seems right, but did you properly rebuild the js bundles and did you setup your dev environment properly? Read the CONTRIBUTING.md file for more information on setting up your dev env.

I don

You can rebuild the js package by running the command.
cd ${SUPERSET_HOME}/assets/
./js_build.sh
npm run dev

This was not working, I ended up deleting docker volumes to make it work.


OpenBSD: cargo build --release fails with unresolved imports

Hi,
I know nothing about Rust, so I will be grateful for any clues on how to proceed here.
$ uname -a
OpenBSD x395.sweet.home 7.5 GENERIC.MP#82 amd64
$ cargo --version
cargo 1.77.0
$ rustc --version
rustc 1.77.0 (aedd173a2 2024-03-17) (built from a source tarball)
$ cargo build --release
[..]
error[E0432]: unresolved imports `backend::MidiInputPort`, `backend::MidiInput`, `backend::MidiInputConnection`, `backend::MidiOutputPort`, `backend::MidiOutput`, `backend::MidiOutputConnection`
  --> /home/holsta/.cargo/registry/src/index.crates.io-6f17d22bba15001f/midir-0.9.1/src/common.rs:5:5
   |
5  |     MidiInputPort as MidiInputPortImpl,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MidiInputPort` in `backend`
6  |     MidiInput as MidiInputImpl,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MidiInput` in `backend`
7  |     MidiInputConnection as MidiInputConnectionImpl,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MidiInputConnection` in `backend`
8  |     MidiOutputPort as MidiOutputPortImpl,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MidiOutputPort` in `backend`
9  |     MidiOutput as MidiOutputImpl,
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MidiOutput` in `backend`
10 |     MidiOutputConnection as MidiOutputConnectionImpl
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `MidiOutputConnection` in `backend`
   |
   = help: consider importing this struct through its public re-export instead:
           MidiInputPort
   = help: consider importing this struct through its public re-export instead:
           MidiInput
   = help: consider importing this struct through its public re-export instead:
           MidiInputConnection
   = help: consider importing this struct through its public re-export instead:
           MidiOutputPort
   = help: consider importing this struct through its public re-export instead:
           MidiOutput
   = help: consider importing this struct through its public re-export instead:
           MidiOutputConnection

For more information about this error, try `rustc --explain E0432`.
error: could not compile `midir` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

@holsta See PR.
If that works, or if you get a different compiler error message, please send the steps required to set up speech dispatcher

@holsta Once you've installed speech dispatcher, you'll need to compile with an additional flag, depending on whether it's version 0.11 or 0.9:
cargo run --release --features jack speech_dispatcher_0_11

cargo run --release --features jack speech_dispatcher_0_9

@holsta Once you've installed speech dispatcher, you'll need to compile with an additional flag, depending on whether it's version 0.11 or 0.9:
cargo run --release --features jack speech_dispatcher_0_11
cargo run --release --features jack speech_dispatcher_0_9


xWindowsOptionalFeature: Fix running tests creates/updates file in repo

Updated the integration tests of xWindowsOptionalFeature and xWindowsOptionalFeatureSet to use the $TestDrive variable (pointing to a path under $env:TEMP managed by Pester) for the feature installation log files.
https://github.com/pester/Pester/wiki/TestDrive
Fixes #215

Didn't know Pester had this. Cool!

Reviewed 2 of 2 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Hide server header in reponse

What kind of request is this (question/bug/enhancement/feature request):
enhancement
Steps to reproduce (least amount of steps as possible):
I want to remove server header reponse: server: openresty/<IP_ADDRESS>
Result:
set server_tokens off;
in nginx-configuration but not success.
Other details that may be helpful:
Environment information

Rancher version: 2.4.2
Installation option (single install/HA): single install

Cluster information

Cluster type (Hosted/Infrastructure Provider/Custom/Imported): custom
Machine type (cloud/VM/metal) and specifications (CPU/memory): vm
Kubernetes version (use kubectl version):

(paste the output here)

Docker version (use docker version):

(paste the output here)

As described on https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#server-tokens, server-tokens: "false" needs to be added in the ConfigMap. After it automatically reloads the config, the header is not present in response anymore.


PTF thrift client issue (the v6 test case just hangs)

PTF thrift client side issue at setup time where it gets blocked before invoking SAI thrift API. As soon as we send a SIGINT (Ctrl-C) to the client, it seems to get unblocked and sends the request to the thrift server just before quitting. We can see that the thrift server correctly programs the P4 table. @reshmaintel @vmytnykx can you take a look ?
Originally posted by @mukeshmv in https://github.com/Azure/DASH/issues/222#issuecomment-1253132148

Hi @mhanif have you tried running just this test in isolation (no other tests) e.g. from within the saithrift-client container?
Note, there is a way to run gdb on the saithrift server, see https://github.com/Azure/DASH/blob/main/dash-pipeline/README-saithrift.md#debugging-saithrift-server-with-gdb. It would be interesting to see what state the server is in while the test is "hanging." Start GDB, run the test, then CTRL-C the server and issue the backtrace (bt) command.
Have you pushed your dev branch to a repo; can you provide the link? Furthermore, you could submit a PR (mark it as "draft") which would make your repo apparent and someone (me) could download it and try to recreate your scenario.

Hi @mhanif have you tried running just this test in isolation (no other tests) e.g. from within the saithrift-client container?

Yes, and it worked!

Note, there is a way to run gdb on the saithrift server, see https://github.com/Azure/DASH/blob/main/dash-pipeline/README-saithrift.md#debugging-saithrift-server-with-gdb. It would be interesting to see what state the server is in while the test is "hanging." Start GDB, run the test, then CTRL-C the server and issue the backtrace (bt) command.

Haven't tried debugging with GDB

Have you pushed your dev branch to a repo; can you provide the link? Furthermore, you could submit a PR (mark it as "draft") which would make your repo apparent and someone (me) could download it and try to recreate your scenario.

That is a great idea.  I will push a "draft" PR for people to try and see if they can help figure out why we are not able to run this test case along with other test cases.

Hi @mhanif, could you please provide more information what exactly you are are running to get this problem ?

What test case are you running ?
How do you execute it ?
What environment are you using to run PTF  ?
Etc.

Once you help to recreate the issue, only  then we can try to help. For now we have not seen such issue on our side. I think providing a link to your dev branch as @chrispsommers suggested and providing the instructions to recreate it would be helpful here.

@mhanif One more thing, you don't actually have to do a PR for us to look at the issue, just give us your GitHub URL and branch and we can clone it to reproduce. A PR is only needed when you're ready to submit.

Hi @vmytnykx @chrispsommers Please refer to my mhanif/DASH fork.  I have submitted the new test case in the branch (test-vnet-v6).  It is a new file (test_saithrift_vnet_v6.py) in vnet directory which introduces a class "TestSaiThrift_outbound_udpv6_pkt".  Once you are in this branch and have built (make all) in the dash-pipeline, please (1) run make run-switch in one terminal and (2) run make run-saithrift-server in another one.  Below are the steps run in the 3rd terminal which resulted in the new test case not running and instead seeing a hang:
$ make run-saithrift-client-bash
docker run -u root --network=host --rm -w /tests/ -it  \
-v /home/mhanif/sw/dash-test-vnet-v6/DASH/dash-pipeline/tests/:/tests-dev/ \
-w /tests-dev/saithrift \
local/dash-saithrift-client:latest \
/bin/bash
root@mhanif-VirtualBox:/tests-dev/saithrift# ls
README.md  ptf  pytest
root@mhanif-VirtualBox:/tests-dev/saithrift# cd ptf
root@mhanif-VirtualBox:/tests-dev/saithrift/ptf# ls
README.md  run-saithrift-ptftests.sh  thrift  vnet
root@mhanif-VirtualBox:/tests-dev/saithrift/ptf# cd vnet
root@mhanif-VirtualBox:/tests-dev/saithrift/ptf/vnet# ls
test_saithrift_vnet.py  test_saithrift_vnet_v6.py
root@mhanif-VirtualBox:/tests-dev/saithrift/ptf/vnet# cd ..
root@mhanif-VirtualBox:/tests-dev/saithrift/ptf# ls
README.md  run-saithrift-ptftests.sh  thrift  vnet
root@mhanif-VirtualBox:/tests-dev/saithrift/ptf# ./run-saithrift-ptftests.sh
/usr/local/lib/python3.8/dist-packages/ptf-0.9.3-py3.8.egg/EGG-INFO/scripts/ptf:19: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
  import imp
Using packet manipulation module: ptf.packet_scapy
test_thrift_session.TestSaiThriftSession ... TestSaiThriftSession OK
ok

----------------------------------------------------------------------
Ran 1 test in 0.004s

OK
test_thrift_session.TestSaiThriftSaiHelper ... TestSaiThriftSaiHelper OK
ok

----------------------------------------------------------------------
Ran 1 test in 0.003s

OK
test_saithrift_vnet.TestSaiThrift_outbound_udp_pkt ...

Sending packet with wrong vip...

 <Ether  dst=00:00:02:03:04:05 src=00:00:05:06:06:06 type=IPv4 |<IP  ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=<IP_ADDRESS> dst=<IP_ADDRESS> |<UDP  sport=11638 dport=4789 chksum=0x0 |<VXLAN  flags=Instance reserved1=0 vni=0x64 reserved2=0x0 |<Ether  dst=02:02:02:02:02:02 src=00:cc:cc:cc:cc:cc type=IPv4 |<IP  ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=<IP_ADDRESS> dst=<IP_ADDRESS> |<UDP  sport=1234 dport=80 |<Raw  load='\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789' |>>>>>>>>

Verifying drop...

Sending packet with wrong dst CA IP to verify routing drop...

 <Ether  dst=00:00:02:03:04:05 src=00:00:05:06:06:06 type=IPv4 |<IP  ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=<IP_ADDRESS> dst=<IP_ADDRESS> |<UDP  sport=11638 dport=4789 chksum=0x0 |<VXLAN  flags=Instance reserved1=0 vni=0x64 reserved2=0x0 |<Ether  dst=02:02:02:02:02:02 src=00:cc:cc:cc:cc:cc type=IPv4 |<IP  ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=<IP_ADDRESS> dst=<IP_ADDRESS> |<UDP  sport=1234 dport=80 |<Raw  load='\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789' |>>>>>>>>

Verifying drop...

Sending packet with wrong dst CA IP to verify mapping drop...

 <Ether  dst=00:00:02:03:04:05 src=00:00:05:06:06:06 type=IPv4 |<IP  ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=<IP_ADDRESS> dst=<IP_ADDRESS> |<UDP  sport=11638 dport=4789 chksum=0x0 |<VXLAN  flags=Instance reserved1=0 vni=0x64 reserved2=0x0 |<Ether  dst=02:02:02:02:02:02 src=00:cc:cc:cc:cc:cc type=IPv4 |<IP  ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=<IP_ADDRESS> dst=<IP_ADDRESS> |<UDP  sport=1234 dport=80 |<Raw  load='\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789' |>>>>>>>>

Verifying drop...

Sending outbound packet...

 <Ether  dst=00:00:02:03:04:05 src=00:00:05:06:06:06 type=IPv4 |<IP  ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=<IP_ADDRESS> dst=<IP_ADDRESS> |<UDP  sport=11638 dport=4789 chksum=0x0 |<VXLAN  flags=Instance reserved1=0 vni=0x64 reserved2=0x0 |<Ether  dst=02:02:02:02:02:02 src=00:cc:cc:cc:cc:cc type=IPv4 |<IP  ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=<IP_ADDRESS> dst=<IP_ADDRESS> |<UDP  sport=1234 dport=80 |<Raw  load='\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789' |>>>>>>>>

Verifying packet...
 <Ether  dst=00:00:00:00:00:00 src=00:00:00:00:00:00 type=IPv4 |<IP  ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp chksum=0x0 src=<IP_ADDRESS> dst=<IP_ADDRESS> |<UDP  sport=0 dport=4789 chksum=0x0 |<VXLAN  flags= reserved1=0 vni=0x64 reserved2=0x0 |<Ether  dst=00:dd:dd:dd:dd:dd src=00:cc:cc:cc:cc:cc type=IPv4 |<IP  ihl=None tos=0x0 id=1 flags= frag=0 ttl=64 proto=udp src=<IP_ADDRESS> dst=<IP_ADDRESS> |<UDP  sport=1234 dport=80 |<Raw  load='\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789' |>>>>>>>>
test_sai_thrift_outbound_udp_pkt_test OK
ok

----------------------------------------------------------------------
Ran 1 test in 0.495s

OK
test_saithrift_vnet_v6.TestSaiThrift_outbound_udpv6_pkt ...

@mhanif thanks, I'll take a look.

I did some extensive debugging. No final conclusion yet but perhaps @marian-pritsak or @vmytnykx have some ideas?
Synopsis:
When you execute run-saithrift-ptftests.sh inside saithrift-client container, the first tests in ptf/vnet/test_saithrift_vnet.py pass. When second file ptf/vnet/test_saithrift_vnet_v6.py runs, it hangs in the first thrift call sai_thrift_create_vip_entry(), whcih is identical code as the Pv4 case. Debugging shows that the thrift message gets sent on the wire but the saiserver RPC server does not invoke the callback to libsai handler sai_create_vip_entry(). Therefore no P4Runtime messages are sent to the bmv2. If you break out of the PTF program (using ^C) then the P4Runtime message gets sent and the table entry is inserted, but the test was aborted so it's after the fact. You can also set a Pdb breakpoint before the sai_thrift_create_vip_entry() then step into it, but again you have to kill the process for the P4Runtime message to get sent.
Seems like a saithrift-server/P4Runtime concurrency issue - maybe some subtle blocking.
Note, If I construct a similar set of tests using Pytest, I can run the two tests back-to-back w/o hanging.
Also, if you separate run PTF tests for test_saithrift_vnet.py then test_saithrift_vnet_v6.py, both pass. So it might be a PTF environment-related issue. It might even disappear if the PTF framework is updated and libsai is enhanced to fix https://github.com/PLVision/DASH/issues/29 to provide platform attributes.
Below I show some of the debugging steps I took. Use the synopsis above to interpret the parallel workflows below.
make run-switch console
chris@chris-z4:~/hanif-DASH/DASH/dash-pipeline$ make run-switch
This is how the end of the first test looks after table entries are removed. If just hangs until you kill PTF, then you get the final entry inserted.
...
[00:40:33.560] [bmv2] [D] [thread 16] Removed entry 1 from table 'dash_ingress.dash_acl_group|dash_acl'
[00:40:33.561] [bmv2] [D] [thread 17] Removed entry 0 from table 'dash_ingress.dash_acl_group|dash_acl'
[00:40:33.562] [bmv2] [D] [thread 16] Removed entry 0 from table 'dash_ingress.direction_lookup|dash_direction_lookup'
[00:40:33.563] [bmv2] [D] [thread 17] Removed entry 0 from table 'dash_ingress.vip|dash_vip'
After breaking out of PTF test:
[21:36:08.746] [bmv2] [D] [thread 16] Entry 16777216 added to table 'dash_ingress.vip|dash_vip'
[21:36:08.746] [bmv2] [D] [thread 16] Dumping entry 16777216
Match key:

hdr.ipv4.dst_addr:VIP: EXACT     ac1001c8
Action entry: dash_ingress.accept -

GDB saithrift-server console
chris@chris-z4:~/hanif-DASH/DASH/dash-pipeline$ make run-saithrift-server-bash
dashuser@chris-z4:/SAI/rpc/usr/sbin$ gdb saiserver
(gdb) dir /meta
(gdb) b sai_create_vip_entry
Function "sai_create_vip_entry" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (sai_create_vip_entry) pending.
(gdb) r
Starting program: /SAI/rpc/usr/sbin/saiserver
[run all ptf tests]
...
Thread 5 "saiserver" hit Breakpoint 1, sai_create_vip_entry (vip_entry=0x7700000000, attr_count=21905, attr_list=0x0) at saidashvip.cpp:31
31	        In const sai_attribute_t *attr_list) {
(gdb) c
Continuing.
GRPC call Write::INSERT OKtable_id: 38937816 match { field_id: 1 exact { value: "\254\020\001d" } } action { action { action_id: 26041632 } }
GRPC call Write::INSERT OKtable_id: 38960243 match { field_id: 1 exact { value: "\000\000d" } } action { action { action_id: 21912829 } }
GRPC call Write::INSERT OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\001" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::INSERT OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\002" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::INSERT OKtable_id: 34579306 match { field_id: 1 exact { value: "\000\003" } } action { action { action_id: 17187022 params { param_id: 1 value: "\000\000d" } } }
GRPC call Write::INSERT OKtable_id: 47336097 match { field_id: 1 exact { value: "\000\004" } } action { action { action_id: 27167550 params { param_id: 1 value: "\000\000'\020" } params { param_id: 2 value: "\000\001\206\240" } params { param_id: 3 value: "\000\001\206\240" } params { param_id: 4 value: "\001" } params { param_id: 5 value: "\254\020\001\001" } params { param_id: 6 value: "\000\000\t" } params { param_id: 7 value: "\000\003" } params { param_id: 8 value: "\000\000" } params { param_id: 9 value: "\000\000" } params { param_id: 10 value: "\000\000" } params { param_id: 11 value: "\000\000" } params { param_id: 12 value: "\000\000" } params { param_id: 13 value: "\000\000" } params { param_id: 14 value: "\000\000" } params { param_id: 15 value: "\000\000" } params { param_id: 16 value: "\000\000" } params { param_id: 17 value: "\000\000" } params { param_id: 18 value: "\000\000" } params { param_id: 19 value: "\000\000" } params { param_id: 20 value: "\000\000" } params { param_id: 21 value: "\000\000" } params { param_id: 22 value: "\000\000" } params { param_id: 23 value: "\000\000" } params { param_id: 24 value: "\000\000" } params { param_id: 25 value: "\000\000" } params { param_id: 26 value: "\000\000" } params { param_id: 27 value: "\000\000" } } }
GRPC call Write::INSERT OKtable_id: 38612462 match { field_id: 1 exact { value: "\000\314\314\314\314\314" } } action { action { action_id: 18228884 params { param_id: 1 value: "\000\004" } } }
GRPC call Write::INSERT OKtable_id: 42788937 match { field_id: 1 exact { value: "\000\004" } } match { field_id: 3 lpm { value: "\n\001\000\000" prefix_len: 112 } } match { field_id: 2 exact { value: "\000" } } action { action { action_id: 25364446 params { param_id: 1 value: "\000\003" } } }
GRPC call Write::INSERT OKtable_id: 48860231 match { field_id: 1 exact { value: "\000\003" } } match { field_id: 3 exact { value: "\n\001\0022" } } match { field_id: 2 exact { value: "\000" } } action { action { action_id: 25450412 params { param_id: 1 value: "\254\020\001\024" } params { param_id: 2 value: "\000\335\335\335\335\335" } params { param_id: 3 value: "\001" } } }
GRPC call Write::DELETE OKtable_id: 48860231 match { field_id: 1 exact { value: "\000\003" } } match { field_id: 3 exact { value: "\n\001\0022" } } match { field_id: 2 exact { value: "\000" } }
GRPC call Write::DELETE OKtable_id: 42788937 match { field_id: 1 exact { value: "\000\004" } } match { field_id: 3 lpm { value: "\n\001\000\000" prefix_len: 112 } } match { field_id: 2 exact { value: "\000" } }
GRPC call Write::DELETE OKtable_id: 38612462 match { field_id: 1 exact { value: "\000\314\314\314\314\314" } }
GRPC call Write::DELETE OKtable_id: 47336097 match { field_id: 1 exact { value: "\000\004" } } action { action { action_id: 27167550 params { param_id: 1 value: "\000\000'\020" } params { param_id: 2 value: "\000\001\206\240" } params { param_id: 3 value: "\000\001\206\240" } params { param_id: 4 value: "\001" } params { param_id: 5 value: "\254\020\001\001" } params { param_id: 6 value: "\000\000\t" } params { param_id: 7 value: "\000\003" } params { param_id: 8 value: "\000\000" } params { param_id: 9 value: "\000\000" } params { param_id: 10 value: "\000\000" } params { param_id: 11 value: "\000\000" } params { param_id: 12 value: "\000\000" } params { param_id: 13 value: "\000\000" } params { param_id: 14 value: "\000\000" } params { param_id: 15 value: "\000\000" } params { param_id: 16 value: "\000\000" } params { param_id: 17 value: "\000\000" } params { param_id: 18 value: "\000\000" } params { param_id: 19 value: "\000\000" } params { param_id: 20 value: "\000\000" } params { param_id: 21 value: "\000\000" } params { param_id: 22 value: "\000\000" } params { param_id: 23 value: "\000\000" } params { param_id: 24 value: "\000\000" } params { param_id: 25 value: "\000\000" } params { param_id: 26 value: "\000\000" } params { param_id: 27 value: "\000\000" } } }
GRPC call Write::DELETE OKtable_id: 34579306 match { field_id: 1 exact { value: "\000\003" } } action { action { action_id: 17187022 params { param_id: 1 value: "\000\000d" } } }
GRPC call Write::DELETE OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\002" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::DELETE OKtable_id: 45323240 match { field_id: 1 exact { value: "\000\001" } } action { action { action_id: 25655048 params { param_id: 1 value: "\000\000\000\000" } } }
GRPC call Write::DELETE OKtable_id: 38960243 match { field_id: 1 exact { value: "\000\000d" } }
GRPC call Write::DELETE OKtable_id: 38937816 match { field_id: 1 exact { value: "\254\020\001d" } }
[...waiting as we hit Python breakpoint before next call to sai_thrift_create_vip_entry()]
Nothing happens, test hangs. THen ^C and quit out of PTF test and next gRPC message gets sent and the table entry is added:
Thread 5 "saiserver" hit Breakpoint 1, sai_create_vip_entry (vip_entry=0x7fc800000000, attr_count=21994, attr_list=0x55eae49ed500 <sai_thrift_ip_address_t_parse(sai::sai_thrift_ip_address_t const&, _sai_ip_address_t*)+64>)
at saidashvip.cpp:31
31	        In const sai_attribute_t *attr_list) {
(gdb)
Continuing.
GRPC call Write::INSERT OKtable_id: 38937816 match { field_id: 1 exact { value: "\254\020\001\310" } } action { action { action_id: 26041632 } }
Thrift monitor console
chris@chris-z4:~/hanif-DASH/DASH/dash-pipeline$ sudo tcpdump -enX -i lo port 9092
This appears when first PTF test cretes vip entry, GDB breakpoint is hit right after:
13:45:26.984080 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 182: <IP_ADDRESS>.51276 > <IP_ADDRESS>.9092: Flags [P.], seq 1:117, ack 1, win 512, options [nop,nop,TS val 212276593 ecr 212276592], length 116
0x0000:  4500 00a8 2132 4000 4006 1b1c 7f00 0001  E...!2<EMAIL_ADDRESS>0x0010:  7f00 0001 c84c 2384 6d2e e67a a105 7f76  .....L#.m..z...v
0x0020:  8018 0200 fe9c 0000 0101 080a 0ca7 1571  ...............q
0x0030:  0ca7 1570 8001 0001 0000 001b 7361 695f  ...p........sai_
0x0040:  7468 7269 6674 5f63 7265 6174 655f 7669  thrift_create_vi
0x0050:  705f 656e 7472 7900 0000 000c 0001 0a00  p_entry.........
0x0060:  0100 0000 0000 0000 050c 0002 0800 0100  ................
0x0070:  0000 000c 0002 0b00 0100 0000 0c31 3732  .............172
0x0080:  2e31 362e 312e 3130 3000 0000 0f00 020c  .16.1.100.......
0x0090:  0000 0001 0800 0100 0000 000c 0002 0800  ................
0x00a0:  0800 0000 0000 0000                      ........
13:45:26.984087 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 66: <IP_ADDRESS>.9092 > <IP_ADDRESS>.51276: Flags [.], ack 117, win 511, options [nop,nop,TS val 212276593 ecr 212276593], length 0
0x0000:  4500 0034 9a94 4000 4006 a22d 7f00 0001  E..4<EMAIL_ADDRESS>0x0010:  7f00 0001 2384 c84c a105 7f76 6d2e e6ee  ....#..L...vm...
0x0020:  8010 01ff fe28 0000 0101 080a 0ca7 1571  .....(.........q
0x0030:  0ca7 1571                                ...q
[continue GDB]
Here are thrift messages at end of vnet IPv4 test:
13:46:51.381910 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 106: <IP_ADDRESS>.9092 > <IP_ADDRESS>.51276: Flags [P.], seq 839:879, ack 2317, win 512, options [nop,nop,TS val 212360990 ecr 212360989], length 40
0x0000:  4500 005c 9ab3 4000 4006 a1e6 7f00 0001  E<EMAIL_ADDRESS>0x0010:  7f00 0001 2384 c84c a105 82bc 6d2e ef86  ....#..L....m...
0x0020:  8018 0200 fe50 0000 0101 080a 0ca8 5f1e  .....P.........
0x0030:  0ca8 5f1d 8001 0002 0000 001b 7361 695f  ...........sai_
0x0040:  7468 7269 6674 5f72 656d 6f76 655f 7669  thrift_remove_vi
0x0050:  705f 656e 7472 7900 0000 0000            p_entry.....
13:46:51.383296 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 74: <IP_ADDRESS>.51280 > <IP_ADDRESS>.9092: Flags [S], seq<PHONE_NUMBER>, win 65495, options [mss 65495,sackOK,TS val 212360992 ecr 0,nop,wscale 7], length 0
0x0000:  4500 003c 110b 4000 4006 2baf 7f00 0001  E..<<EMAIL_ADDRESS>0x0010:  7f00 0001 c850 2384 eadc eb03 0000 0000  .....P#.........
0x0020:  a002 ffd7 fe30 0000 0204 ffd7 0402 080a  .....0..........
0x0030:  0ca8 5f20 0000 0000 0103 0307            ...........
13:46:51.383324 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 74: <IP_ADDRESS>.9092 > <IP_ADDRESS>.51280: Flags [S.], seq<PHONE_NUMBER>, ack<PHONE_NUMBER>, win 65483, options [mss 65495,sackOK,TS val 212360992 ecr 212360992,nop,wscale 7], length 0
0x0000:  4500 003c 0000 4000 4006 3cba 7f00 0001  E..<<EMAIL_ADDRESS>0x0010:  7f00 0001 2384 c850 52bd c381 eadc eb04  ....#..PR.......
0x0020:  a012 ffcb fe30 0000 0204 ffd7 0402 080a  .....0..........
0x0030:  0ca8 5f20 0ca8 5f20 0103 0307            ..........
13:46:51.383348 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 66: <IP_ADDRESS>.51280 > <IP_ADDRESS>.9092: Flags [.], ack 1, win 512, options [nop,nop,TS val 212360992 ecr 212360992], length 0
0x0000:  4500 0034 110c 4000 4006 2bb6 7f00 0001  E..4<EMAIL_ADDRESS>0x0010:  7f00 0001 c850 2384 eadc eb04 52bd c382  .....P#.....R...
0x0020:  8010 0200 fe28 0000 0101 080a 0ca8 5f20  .....(.........
0x0030:  0ca8 5f20                                ...
13:46:51.424702 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 66: <IP_ADDRESS>.51276 > <IP_ADDRESS>.9092: Flags [.], ack 879, win 512, options [nop,nop,TS val 212361033 ecr 212360990], length 0
0x0000:  4500 0034 2152 4000 4006 1b70 7f00 0001  E..4!R<EMAIL_ADDRESS>0x0010:  7f00 0001 c84c 2384 6d2e ef86 a105 82e4  .....L#.m.......
0x0020:  8010 0200 fe28 0000 0101 080a 0ca8 5f49  .....(........I
0x0030:  0ca8 5f1e                                ...
13:46:52.384718 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 74: <IP_ADDRESS>.9092 > <IP_ADDRESS>.51280: Flags [S.], seq<PHONE_NUMBER>, ack<PHONE_NUMBER>, win 65483, options [mss 65495,sackOK,TS val 212361993 ecr 212360992,nop,wscale 7], length 0
0x0000:  4500 003c 0000 4000 4006 3cba 7f00 0001  E..<<EMAIL_ADDRESS>0x0010:  7f00 0001 2384 c850 52bd c381 eadc eb04  ....#..PR.......
0x0020:  a012 ffcb fe30 0000 0204 ffd7 0402 080a  .....0..........
0x0030:  0ca8 6309 0ca8 5f20 0103 0307            ..c........
13:46:52.384753 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 66: <IP_ADDRESS>.51280 > <IP_ADDRESS>.9092: Flags [.], ack 1, win 512, options [nop,nop,TS val 212361993 ecr 212360992], length 0
0x0000:  4500 0034 110d 4000 4006 2bb5 7f00 0001  E..4<EMAIL_ADDRESS>0x0010:  7f00 0001 c850 2384 eadc eb04 52bd c382  .....P#.....R...
0x0020:  8010 0200 fe28 0000 0101 080a 0ca8 6309  .....(........c.
0x0030:  0ca8 5f20                                .._.
These thrift messages appear when second test starts (e.g. I resume PDB via "c" command), the first SAI action is to create vip entry. However, breakpoint in the thrift server isn't hit and libsai with P4Runtime callbacks never invoked for sai_create_vip_entry():
13:49:53.279963 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 182: <IP_ADDRESS>.51280 > <IP_ADDRESS>.9092: Flags [P.], seq 1:117, ack 1, win 512, options [nop,nop,TS val 212542888 ecr 212360992], length 116
0x0000:  4500 00a8 110e 4000 4006 2b40 7f00 0001  E<EMAIL_ADDRESS>0x0010:  7f00 0001 c850 2384 eadc eb04 52bd c382  .....P#.....R...
0x0020:  8018 0200 fe9c 0000 0101 080a 0cab 25a8  ..............%.
0x0030:  0ca8 5f20 8001 0001 0000 001b 7361 695f  ...........sai
0x0040:  7468 7269 6674 5f63 7265 6174 655f 7669  thrift_create_vi
0x0050:  705f 656e 7472 7900 0000 000c 0001 0a00  p_entry.........
0x0060:  0100 0000 0000 0000 050c 0002 0800 0100  ................
0x0070:  0000 000c 0002 0b00 0100 0000 0c31 3732  .............172
0x0080:  2e31 362e 312e 3230 3000 0000 0f00 020c  .16.1.200.......
0x0090:  0000 0001 0800 0100 0000 000c 0002 0800  ................
0x00a0:  0800 0000 0000 0000                      ........
13:49:53.279988 00:00:00:00:00:00 > 00:00:00:00:00:00, ethertype IPv4 (0x0800), length 66: <IP_ADDRESS>.9092 > <IP_ADDRESS>.51280: Flags [.], ack 117, win 511, options [nop,nop,TS val 212542888 ecr 212542888], length 0
0x0000:  4500 0034 8961 4000 4006 b360 7f00 0001  E..4.a<EMAIL_ADDRESS>0x0010:  7f00 0001 2384 c850 52bd c382 eadc eb78  ....#..PR......x
0x0020:  8010 01ff fe28 0000 0101 080a 0cab 25a8  .....(........%.
0x0030:  0cab 25a8                                ..%.
P4Runtime Console
chris@chris-z4:~/hanif-DASH/DASH/dash-pipeline$ sudo tcpdump -enX -i lo port 9559
PTF Console
Note - edit ptf test as follows:
Near top:
import pdb
in test-case:
class TestSaiThrift_outbound_udpv6_pkt(ThriftInterfaceDataPlane):
...
ADDED===>   pdb.set_trace()   <===
status = sai_thrift_create_vip_entry(self.client, self.vpe,
action=SAI_VIP_ENTRY_ACTION_ACCEPT)
chris@chris-z4:~/hanif-DASH/DASH/dash-pipeline$ make run-saithrift-client-bash
...
root@chris-z4:/tests-dev/saithrift# cd ptf
root@chris-z4:/tests-dev/saithrift/ptf# ./run-saithrift-ptftests.sh
test_saithrift_vnet.TestSaiThrift_outbound_udpv6_pkt ... > /tests-dev/saithrift/ptf/vnet/test_saithrift_vnet.py(318)setUp()
-> status = (self.client, self.vpe,
(Pdb) c
[thrift message gets sent for sai_thrift_create_vip_entry() but libsai never calls sai_create_vip_entry()
^C one or two times, then Quit. P4Runtime message finally gets sent.

Hi @chrispsommers and @mhanif,
The issue is in the test tearDown() method. You call super in the setUp() that initializes self.transport and acquire socket. But you do not call the same method in the tearDown() and the socket is not released. The next test tries to use the same socket and hangs.
Fix:
All you need to add a call super(self.__class__, self).tearDown() or super(TestSaiThrift_outbound_udp_pkt, self).tearDown() after all cleanup functions in your test class tearDown. Also you might need to add this call to the failure_teardown. The socket will be properly closed and next test won't stack.
P.S.: I suggest moving VNET configure steps to a test function and call it in the runTest() so setUp won't fail and you won't need to have two teardown methods.

Thanks @aputriax! You were right, I tried super.tearDown() and indeed it works now. I'll give provide @mhanif with the proper changes. This was my error some months ago when I wrote the first test. Thanks for the experienced eye!

Hi @mhanif I've submitted https://github.com/mhanif/DASH/pull/1 to your fork to fix this problem. Please let me know if this works. Thanks for reporting this, and thanks to @aputriax for the advice on a solution.

Hi @chrispsommers @aputriax, thanks a lot for finding the root cause and fixing the issue.  Much appreciated.
@chrispsommers, I will merge the changes you have submitted with the PR to my fork and will test and verify.  Upon validation, I will submit the changes (PR) to the DASH repo.  Thanks!

@mhanif You are most welcome - it was a true team effort! Hopefully your merge will go well as-is. The normal practice is to  sync to main and update your dev branch prior to any PR. However, I will remnind you that main has been updated since your fork, to use ACR for all Docker images. I've done my own merges of the current main into various down-rev forks and it went smoothly, so I don't expect you to have trouble, but sometimes we get surprised! Your branch can probably be merged as-is without syncing (because the changes are modest), but this doesn't mean there won't be an integration surprise once the PR is merged. That's why you should sync first.
As a self-defense measure, what I often do in such cases is take my dev branch I am happy with; push it to Git for safe-keeping; then make yet another branch off of this one, e.g. if your branch is test-v6 then do git checkout -b test-v6-merge. Then sync this to main. If it all goes south your test-v6 branch is still intact, you can reconsider your plan. If it goes well, commit the merge, checkout the original branch test-v6 and merge test-v6-merge into it.
Note also, your own Git Actions page will show you the status of a new CI run after each push, so you can try all this out before making a PR.

With the merge of PR #263 , this issue has been resolved.


CDNJS 4.0.0.min breaks Windows 7 Firefox Inspector

CSS rules are not shown inside Firefox Inspector upon inspecting elements.
Loading normalize.min.css from cdnjs.
No issues when using 3.3.2.min or 4.0.0(non min).
Update
It seems to be a Firefox issue.
Testing with Firefox DevEd 47.0a2 produces the bug
Testing with Firefox 44 does not

@maxpower9000, thanks for reporting this! I can't reproduce this on Firefox DevEd 47.0a2 (OS X). Are you still having this issue?

@battaglr. Thanks for testing. Yes, I can still produce the same phenomenon.
BUT!
The project also uses -prefix-free. It seems to be the reason for the issue. After taking out -prefix-free the inspector works.
So you're off the hook :)


I think I a have found something in the code

What are you planning on doing with the sting ability in mob origins?

Lmao you got me
Join the discord through the curseforge page, there's info there in General


Support TopicRecordNameStrategy in Consume API

No explicit support needed for various topic name strategies for Consume API. The magic byte in the message bytes points to schema id which is used to deserialize the message into JSON.


[1.13] Bump dcos-net

High-level description
Bump dcos-net
Corresponding DC/OS tickets (required)

COPS-5229 DC/OS L4LB failing

Related tickets (optional)

Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[x] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain.
[x] Test Results: [link to CI job test results for component]
[x] Code Coverage (if available): [link to code coverage report]
https://github.com/dcos/dcos-net/compare/0851520c0849ca80c3e31e65d12e11ccf76d077b...d9a99b53ce4708465fd9c265a48fc396d7611bbd
https://github.com/dcos/dcos-net/pull/173
https://circleci.com/gh/dcos/dcos-net/1333
https://codecov.io/github/dcos/dcos-net/commit/d9a99b53ce4708465fd9c265a48fc396d7611bbd

@mesosphere-mergebot label [Ready For Review]


test: add test for icecandidatepoolsize + createOffer

Codecov Report

Merging #62 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #62   +/-   ##
=======================================
  Coverage   97.01%   97.01%
=======================================
  Files           1        1
  Lines         805      805
=======================================
  Hits          781      781
  Misses         24       24

Continue to review full report at Codecov.

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


Unit tests for app/router/transfer/transfer.go

this issue is duplicate of https://app.zenhub.com/workspaces/hashport-bridge-5faa7a326bd8890015ff754d/issues/limechain/hashport-validator/455


CD Pipeline - As a product owner, I want to continuously deploy BP corporate website when PRs are merged to master

BP corporate website has a www.bytepushers.software domain via GoDaddy. We need to set up CD pipeline to auto-deploy GoDaddy account from Travis-CI or straight from GitHub.
GoDaddy Admin Url: https://p3plzcpnl452761.prod.phx3.secureserver.net:2083/logout/?locale=en
GoDaddy cPanel username: pouncilt
GoDaddy cPanel password: T0nt3@bps!
GoDaddy cPanel web root: public_html or www
GoDaddy cPanel Public FTP Root: public_ftp
https://www.godaddy.com/garage/auto-deploy-from-github-to-your-managed-wordpress-hosting-with-deploybot/

@AmanAb428 Any updates on this?  Are you stuck or have an issue, I can help solve?


HIPP-1244-Updated Login Tests

Would it be worth having all four roles for each sign-in type? They have three each at the moment but not the same three.

User
Approver
Support
Privileged user

User and Privileged user should see the same menu items (ie not the Admin menu).

Done


Append environment variables to be set before main

This enables git to run without having to source the .env

You're right, they don't need to be unset since our Git doesn't use them

Removed the unsets


Should read pointer be used for SMEM mode

If the SMEM mode only realize trace data wirte by system BUS, and without additional RAM attached.
Should trRamRPLow and trRamRPHigh registers be realized?

This is defined in the spec. Definition of trRamRP says:
Required for SRAM mode and optional for SMEM mode.
and later there is a chapter 'Minimal Trace RAM Sink Register/Fields' which is mentioning trRamRP only in SRAM mode and NOT in SMEM mode.

I am closing this issue as there is already enough explanations in the spec.


Workflow containers to run for runners in K8s mode take minutes to start up

We are running workflows on self-hosted runners in Kubernetes mode. The workflow is executed successfully, but it spends more than 3 minutes in the Initialise containers step. We have been able to detect the cause of the slowdown to be the action of copying files across from the runner to the pod defined in the PodTemplate. In fact the step took just 4-5 seconds when we removed the calls await copyExternalsToRoot() and await isAuthPermissionsOK() and replaced them with a bash copy command cp -R /home/runner/externals /home/runner/_work/externals before running /home/runner/run.sh in the Dockerfile image created based on the runner version ghcr.io/actions/actions-runner:2.317.0 where we only add a user with ID 1000 and make the necessary changes for the above copy command. Our cluster is in AWS and uses EFS as PersistentStorageType in ReadWriteMany access mode for the work volume shared by the Runner and the workflow pod.
We believe that the approach K8s mode without PV [DRAFT] #160 could solve this problem even better than our approach replacing the way to copy those files. I'm opening this ticket to keep track of the issue, and to signal that it's actually affecting us.

Related: #168 #82


Interceptors

Create global interceptors to report errors as login expiration to users

[x] SlimLoadingBar

The work on user expiration will be on angular-spa


Update facts.go

I made some comments, if you'd like to push a commit that takes care of them, you can. If not I can do that too, while also fixing some grammar and making the facts sound more natural.


fix: use 0 as default ns for old kernel

This PR is for:
procfs /proc/{pid}/ns only works for linux 3.0+, use 0 as default netns identify for old kernel.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.tan shuo seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@eddietanshuo 还需要点一下 CLA

我简化下代码，保证尽量优雅，稍后我测试下


adds microwave source driver SMR40

Update of #386
@giulioungaretti @core

@eendebakpt  // @takafumifujita   Can I ask for a quick  search and replace ? The docstrings have the right info, but to make them work with the documentation it should be
Args:
   -

not
Input:
   -

But after that ready to merge!

@giulioungaretti Done!