Getting logged out several times a day

It seems the app won't stay logged in for more than a few hours per day and I keep missing moves as a result.
Any ideas how to resolve this?

@bjeanes Could you share your iOS version and the type of account you are using for logging in (OGS/Google/Facebook/etc.)?
Also, has this issue just started recently?

It's an OGS account without any social login. It's been happening for about 3 weeks. iOS 17.2.1 on an iPhone 15 Pro.

@bjeanes Can you help to reinstall the app and keep push notifications disabled to see if it helps with the issue. I haven't figured out all the details yet but it looks like this bug was caused by some interaction between the app and the notification server.

I have reinstalled the app several times already. How do I keep push notifications disabled? I am not taking any explicit step to re-enable them after re-installation AFAICT. I actually use the Widget on the home screen more than anything to see when there is a move to be made.
Anecdotally on this bug (which I continue to experience) is that it will stay logged in for quite a while but then as soon as I go into app and make several moves and then close app, the widget will show me as logged out. The moves I made all go through, but the session invalidation seems to happen after I take moves (or perhaps when the server reports no moves to be made i.e. I clear all the games). Hopefully that's helpful...

So actually notifications are off. I'll have to wait and see to be sure my memory is serving correctly but I feel that I have been getting notifications nonetheless. Perhaps this is due to this other issue I raised though: https://github.com/honganhkhoa/Surround/issues/6

@bjeanes Thanks a lot for the information. Could you help to try the TestFlight version below to see if it helps with this issue (and also #6)?
https://testflight.apple.com/join/2JHF5Zut

OK I've installed it note and I'll let you know what I experience. If it is ongoing, perhaps we can find a way for be to capture some debug data out request logs

It didn't long me out for a few days but now it's after almost every move. I really wonder if it's a specific game or game state. Any thoughts on adding some logging for me to share with you?

@bjeanes Thanks for the update. I have updated another TestFlight version<PHONE_NUMBER>) with a potential fix (ed7423f). Could you help to try that out?
I am not used to collecting logs on device so I will have to learn how to do that first, or probably I can give you a special build that logs to my server...

So far this seems better. I haven't yet ben logged out. I wonder what response status I was getting if not 403 and why that might be...

I guess it's not an HTTP error but some kind of client exception, maybe it happens when you lock your phone while the app is active, or some kind of network changes.
I have not been able to reproduce it though, so that is just my guess. The change should be good anyway as it also prevents a logout in case the server returns HTTP 5xx.

It definitely seemed like it happened immediately after I made certain moves on certain games. Maybe it's a weird game state thing causing either the server to error or the client to fail to handle the response?
Either way, it hasn't reoccured since your change, so 🎉


Zen mode: panel and sidebar do not restore after reload

Steps to Reproduce:

enter zen mode
show the panel
reload window

=> first the editors restore and then the panel

This should be fixed via https://github.com/Microsoft/vscode/commit/1a4f6b9f7dbf297904025925af55cc4bc4cf8631
Please let me know if you still see it

@isidorn now the panel is not restoring at all anymore is that expected?

@bpasero no, this is a regression that on reload zenMode hides all things again -> reopening and renaming

Actually this is the behavior in stable already and nobody complained. So might actually not be that undesirable.
For now pushing to backlog and only if people complain will do something.

Let's close this and reopen if somebody complains


feat: add question through UI (#55)

Functionality to add questions through UI.
closes #55

@coderabbitai full review


Using socket_url for workspace causes a js syntax error

Using graphiql workspace with the socket_url option will prevent graphiql workspace from rendering in the browser because of a js syntax error.

this should be resolved by #143


Sound muffling while wearing mask w/ hood

Discourages constantly wearing the mask and much more realistic. Sound muffling similar to pilot/tanker helmets

Gas masks don't typically cover the ears and don't cause any difficulties hearing as a result. In my experience neither do the hoods.
The masks do certainly cause difficulty speaking though, as the voicemitter is never very loud. It might be worth looking into that for vanilla VOIP and to see if ACRE/TFAR could be supported.

The hood for the S10 certainly does, not sure about the others. That should definitely be able to be supported with TFAR

Ah, I've only ever used the C-4 mask and related gear. Don't remember the hood for that being bad at all.

I am not familiar with TFARs API. I can look into adding this


Make the Maui sample client work on Windows

(work in progress)

At this point, the sample fails with an exception at runtime when run on Windows:
System.Runtime.InteropServices.COMException:
'The application called an interface that was marshalled for a different thread.
(0x8001010E (RPC_E_WRONG_THREAD))'

at BLEScannerViewModel.cs:218.


Prometheus custom rules not copying to rules folder

Setup
I upgraded to the latest release v0.23.0 and run the Prometheus role to configure Prometheus on a Ubuntu 22 virtual machine. My custom rules are located in prometheus/rules/*yml location and my files all end with the .yml extension as expected by the default variable prometheus_alert_rules_files.
Configuration
I 'm running the role using the below ansible configuration.
ansible [core 2.13.13]
  config file = /home/user/folder/ansible/ansible.cfg
  configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/user/.local/lib/python3.8/site-packages/ansible
  ansible collection location = /home/user/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/user/.local/bin/ansible
  python version = 3.8.10 (default, Nov  7 2024, 13:10:47) [GCC 9.4.0]
  jinja version = 3.0.3
  libyaml = True

And the below OS configuration
Distributor ID:	Ubuntu
Description: Ubuntu 20.04.5 LTS
Release: 20.04
Codename: focal

Deploying to the below OS configuration
Distributor ID:	Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy

Problem
The Copy custom alerting rule files did not copy over my custom rules to the rules directory on the Prometheus server. There was no feedback, even in verbose mode -vvvv so I assumed the glob working correctly and it thinks there's no files to copy over. After the role completed, the Prometheus server was running but no custom rules were displayed in the UI.
Testing done

I tried to override the prometheus_alert_rules_files variable with a new location (In the expected list format). This resulted in an error of not locating the files instead of the original no feedback, which makes me think the location is not the problem.

I tested at v0.19.0 before this task was last changed and it works fine and copied the custom rules over as expected.

I tried the v0.23.0 task changes but using root permissions on the copy task which did not make a difference. This means it is not a permissions issue.

Conclusion
This leaves me to think the problem is situated in the change below.
Working version (v0.19.0)
with_fileglob: "{{ prometheus_alert_rules_files }}"

Not working version (v0.23.0)
loop: "{{ prometheus_alert_rules_files | map('ansible.builtin.fileglob') | flatten }}"

Please let me know if you can help resolve this.

Do you by any chance have prometheus_alert_rules_files configured as a string and not a list?
See #454 for further explanation

I left the variable configured with the default here. I also additionally tested an override where I had it configured as a list and it did not seem to make a difference in this case.

Hmm, what does your playbook look like? And can you show me the debug log of the task?

Playbook
Stored in playbooks -> prometheus -> prometheus.yml
- hosts: prometheus
  remote_user: root
  roles:
    - prometheus.prometheus.prometheus
  tags: [prometheus]
  vars:
    prometheus_version: "{{ prometheus.version }}"
    prometheus_storage_retention: "1w"
    prometheus_db_dir: /var/lib/prometheus
    prometheus_config_flags_extra:
      storage.tsdb.min-block-duration: 2h
      storage.tsdb.max-block-duration: 2h
      web.enable-admin-api:
      storage.tsdb.allow-overlapping-blocks:

    prometheus_alertmanager_config:
      - scheme: http
        static_configs:
          - targets: ["{{ alert_manager_url }}"]

    prometheus_alert_rules: []
    prometheus_alert_relabel_configs: []

    prometheus_external_labels:
      clusterName: "production"

    prometheus_targets:
      linux:
        - targets:
            - {{ exampleHostname }}:{{ port }}
            - {{ exampleHostname }}:{{ port }}

I have the prometheus rules setup like so... (In the new rule format)
playbooks -> prometheus -> files -> rules -> custom-alert.yml
The debugging did not output a single thing unfortunately, I tried it with -vvvv and on that particular task and there was no logs.

Can confirm.
Same issue for me after upgrading the collection to the latest version.

Found the cause:
https://github.com/prometheus-community/ansible/pull/333/files
In this PR support for rule files with file ending .rules was removed.
This was not mentioned in changelog / release notes.
The PR was mentioned under "minor changes". Breaking change was not mentioned.

Renaming my rules files from .rules to .yml alone did not fix my issue.
https://github.com/prometheus-community/ansible/commit/1e4e4c34156900d427a65430cd3eba805b441851#diff-a405b871a41e1b77e6d93c308fb136fd60b40efa6e85917adbde90a8fb9a0f16R93
This change is also problematic.
After reverting this change (loop: "{{ prometheus_alert_rules_files | map('ansible.builtin.fileglob') | flatten }}" --> with_fileglob: "{{ prometheus_alert_rules_files }}") the prometheus role is working as expected.
In other words: I can confirm the conclusion of @cdestouni-fmp


HOME Config Initialization

HOME CONFIG
Description
Branch dedicated to separating dotfiles from main branch.
Purpose
For use on my primary personal computer at home.
Details
This is the creation/initialization of the branch specifically intended for my home setup.
This will be used continuously and so I plan to keep this 'Pull Request' open permanently.

this was an oopsie... meant to commit to private repo


Feature 2291 first class support for playwright

Description
Thanks for contributing this Pull Request. Make sure that you submit this Pull Request against the develop branch of this repository, add a brief description, and tag the relevant issue(s) and PR(s) below.
New playwright driver using Playwright java apis.
Add the karate-playwright module in your pom.xml before karate-core to enable it.

Relevant Issues : 2291
Relevant PRs : (optional)
Type of change :

[x] New feature
[ ] Bug fix for existing feature
[ ] Code quality improvement
[x] Addition or Improvement of tests
[ ] Addition or Improvement of documentation

@f-delahaye I've made changes to align with develop and got the build to pass. let me know if you are ok with the changes and I will merge
was able to run playwright runner locally. does it download the playwright runtime the first time ? is there a way to get that to show in the log

@f-delahaye I've made changes to align with develop and got the build to pass. let me know if you are ok with the changes and I will merge

Sure. Thanks for fixing the build!

was able to run playwright runner locally. does it download the playwright runtime the first time ? is there a way to get that to show in the log

It does. I have added a log.
For completeness, it is possible to pass playwrightOptions.installBowsers = false to disable auto installing. playwrightOptions.channel = chrome may then be specified to tell Playwright to use the locally installed browser instead


If we are going to use 2d slice instead of []*Tile, change IsInFOV to fit better

Currently it does take coords. Maybe it's worth to use interface?

Related to #9

Honestly, I have no idea what did I mean by that issue...


goldmark: Add options footnote.BacklinkHTML, table.ClassCellLeft, table.ClassCellCenter, table.ClassCellRight

Currently, the hugo configuration file can only enable or disable the Footnote extention to goldmark. The reson for this is that the allowed properties are hardcoded in hugo. The only option for Footnotes and all other extentions other then Typographer is to enable or disable it.
Idealy, this would be implemented in a way that just passes configuration to goldmark, allowing full access to goldmark configuration. If that is infeasible, simply adding more configurability to the markdown engine would be good.

I have made the issue title more ... to the point.
Note that doing this would require revising these options to be struct types on the same form as the cjk extension.


Feature Request: Support hyperlinks in Document Outline

Some PDFs I'm displaying with the viewer contain items in the document outline that, when rendered in Adobe Reader (haven't checked others), are actually hyperlinks.  Would it be possible to support this in pdf.js?  I'm looking at readDocumentOutline in obj.js right now and found what will hopefully lead me in the right direction, but if I'm off track let me know and I'll see if I can make the changes myself.

is there any fix for this issue in next available release?

(Related to #3214)

Since 3214 also closed can someone please answer me
Any resolution for this? can you please let us know the hyperlink issue in bookmark will be fixed in next release?

I'm attaching the PDF file from issue #3214 here, as an additional example: bookmark-unsupported-features.pdf.

@kvk123456 As far as I know nobody is working on this. If someone would like to fix this, feel free to submit a pull request. We are just closing the other issues because they are duplicates of this one.

Thanks timvandermeij, here is the link I reported in 6788.
https://fbutools-stage.rightmix.com/Viewer.aspx?file=%2FViewer%2FHosted%2FGetDocument.ashx%3Ffile%3Dhttp%3A%2F%2Fstage.efinancialdocs.com%2Fdocuments%2FDocData%2FFBU2001_DOC_S_201532112645_FBU2001_LOAD.PDF

FYI, I developed a patch (not published) that recovers a missing outlune from marked content (#6269). It does not work for many documents (because marked content is not that common), so I stopped working on it.

Here's a quick, sort of hacky, patch that adds basic support for URLs in the outline (I don't know if it's in good enough shape to bother with submitting a PR): https://github.com/Snuffleupagus/pdf.js/commit/c7d3060a614978aea6c2db04a6a6b75547613186.

when is the next release, whiich will have this fix?

The code is working when we the open pdf from local system.
When the pdf document is opened as query string to the viewer. The issue still exists.
Please suggest any better solution for this.
http://rightprospectus-stage.rightprospectus.com/documents/BlackRock/SUM_AllCapEnergyResourcesPortfolioServiceShares.pdf

Can someone please respond here . Is the issue is fixed if in which version.
var dest = outlineDict.get('A');
if (dest) {
if (dest.has('URI')) {
dest = dest.get('URI');
} else {
dest = dest.get('D');
}
The code is working when we the open pdf from local system.
When the pdf document is opened as query string to the viewer. The issue still exists.
http://rightprospectus-stage.rightprospectus.com/documents/BlackRock/SUM_AllCapEnergyResourcesPortfolioServiceShares.pdf

We have pull request #6822 to implement this, though the review for it needs to be completed. It is not fixed yet, otherwise this issue would have been closed.

Closing as fixed by #6822. URLs in document outlines are now supported. The other outline issues are tracked in #3214.

I have an example PDF document with bookmarks. Adobe navigates by them fine, but viewer does not. Exploring the DOM of the document outline displays empty href attributes

@creage Next time, please open a new issue rather than commenting on a old and already fixed one!
Furthermore, note that your PDF file is actually not valid according to the specification, since the outline data isn't entirely correct.


refactor: add controllers for workspaces & ocp

Description
Refactoring of kubernetes client initialization
It results in having 5 different clients

4 for kcp workspaces:

appstudio user workspace - for running appstudio tests (i.e. for working with appstudio-specific resources - application, component CRs etc)
hacbs user workspace - for running hacbs tests (i.e. for working with appstudio and hacbs specific resources - integrationtestscenarios, release CRs etc)
appstudio workspace (redhat-appstudio) - for accessing resources specific for appstudio (appstudio controllers' deployments, configmaps, secrets etc)
hacbs workspace (redhat-hacbs) - for accessing resources specific for hacbs (hacbs controllers' deployments, configmaps, secrets etc)

1 for workload cluster - for gathering resources we are not able to collect via kcp (yet), for example pods' logs from PipelineRuns

Each of them has all available controllers bound to them, so they can be used in each of the tests after framework initialization
HACBS E2E demo test
A placeholder for full HACBS E2E demo that presents functionality of all hacbs services on an example of a single user story
Issue ticket number and link
https://issues.redhat.com/browse/HACBS-1351
Type of change

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

How Has This Been Tested?
# Make sure you're currently targeting KCP-stable
export CLUSTER_KUBECONFIG=/path/to/associated/workload/cluster
# WORKSPACE_ID=abc assumes workspaces have the suffix -abc
# i.e. appstudio-abc, redhat-hacbs-abc etc
# if empty, workspaces without suffix are expected, i.e. appstudio, redhat-hacbs etc
export WORKSPACE_ID="<id-without-dash"
export GITHUB_TOKEN=$APPSTUDIO_GITHUB_TOKEN QUAY_TOKEN=$(base64 < ~/.docker/config.json) GITHUB_E2E_ORGANIZATION=<your-org> QUAY_E2E_ORGANIZATION=<your-org>
make local/test/e2e

Checklist:

[ ] I have performed a self-review of my code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added meaningful description with JIRA/GitHub issue key(if applicable), for example HASSuiteDescribe("[test_id:01] DEVHAS-62 devfile source")
[ ] I have updated labels (if needed)

seeing this error, not sure what causes it
    "message": "Error retrieving pipeline for pipelinerun kcp-kq7lqmfv3b21/test-component-wrzb-n556p: error when listing pipelines for pipelineRun test-component-wrzb-n556p: failed to get keychain: serviceaccounts \"pipeline\" not found",

/retest

/test redhat-appstudio-e2e

/retest

🥲
Unexpected error:
<*errors.errorString | 0xc0004571b0>: {
s: "error when initializing kubernetes clients: an error on the server (\"\") has prevented the request from succeeding",
}
error when initializing kubernetes clients: an error on the server ("") has prevented the request from succeeding
occurred
In [SynchronizedAfterSuite] at: /tmp/tmp.cGQ1880G8J/tests/has/devfile_source.go:35

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

we are blessed, the CI test (for running appstudio & hacbs tests in parallel) has passed
Ran 13 of 14 Specs in 85.541 seconds
SUCCESS! -- 13 Passed | 0 Failed | 0 Pending | 1 Skipped

/test redhat-appstudio-e2e

/test redhat-appstudio-e2e

    [It] the PipelineRun should eventually finish successfully
    /tmp/tmp.VQWluvX81N/tests/hacbs-demo/demo.go:81
  Begin Captured StdOut/StdErr Output >>
    I1114 19:27:06.839032   35477 demo.go:90] PipelineRun test-component-bara-sh87d, namespace: hacbs-e2e-tmtf, Status.Conditions.Reason: CouldntGetPipeline

    "message": "Error retrieving pipeline for pipelinerun kcp-kq7lqmfv3b21/test-component-*: error when listing pipelines for pipelineRun test-component-*: failed to get keychain: serviceaccounts \"pipeline\" not found",

most probably this is an issue with the syncer. the serviceaccount actually gets created in hacbs user's workspace, but it is not synced to pipeline-service workload cluster before the pipelinerun gets created, hence this error.

@psturc I was testing locally the changes and works fine for me. I will approve this Pull Request adding 2 very small changes in naming stuffs. Thank you for this! Awesome Work!!


system_error, do not support nv21 with stride ???

format: nv21
w: 720
h:1280
stride: 736
terminate called after throwing an instance of 'std::system_error'
what():  Unknown error -1
Process finished with exit code 134 (interrupted by signal 6: SIGABRT)
text code:
try {

        DecodeHints hints;
        hints.setTryHarder(true);
        hints.setTryRotate(true);
        hints.setCharacterSet("utf-8");
//        hints.setIsPure(true);
//        hints.setBinarizer(Binarizer::FixedThreshold);
        try {
            hints.setFormats(BarcodeFormatsFromString("QRCode"));
        } catch (const std::exception& e) {
            std::cerr << "setFormats" << e.what() << "\n";
        }

        auto result = ReadBarcode({(uint8_t*)data, width, height, ImageFormat::None, 736}, hints);

        std::cout << "Text:     \"" << TextUtfEncoding::ToUtf8(result.text()) << "\"\n"
                  << "Format:   " << ToString(result.format()) << "\n"
                  << "Position: " << result.position().orientation() << "\n"
                  << "Rotation: " << result.orientation() << " deg\n"
                  << "Error:    " << ToString(result.status()) << "\n";
        return TextUtfEncoding::ToUtf8(result.text());

    } catch (Exception &e) {
        std::cerr << "ReadBarcode" << e.what() << "\n";
    }

The nv21 format is a YUV format with planar layout. That means you can simply take the first plane as a luminance/greyscale image. If your stride value is correct, you should get a proper result simply by replacing ImageFormat::None with ImageFormat::Lum.

change to ImageFormat::Lum , as same as error

Then you need to execute your code inside a debugger and see where exactly is crashes.

Closed for lack of feedback. If there is new information, please add comment.


Fix HTML output of compliance-checker

The IOOS compliance checker allows the user to specify multiple "tests" to run on a file.
Each "test" relates to a python class where each method (whose name begins with "check_")
constitutes a check to be made on that file.
The output can be written to a number of formats using the argument -f:

no arguments - output to the terminal
-f json -o output.json - write to JSON file
-f html -o output.html - write to HTML file
-f txt -o output.txt - write to Text file

The HTML output view is very useful but it currently only writes the output of the last
test to the output file. Any other tests are ignored or overwritten.
The task is to get the HTML file to show all tests that are run and their outputs.
Here is the task broken down in detail:

Fork the compliance-checker on GitHub to your local GitHub:

https://github.com/ioos/compliance-checker

Clone your fork to a local sandbox, and install dependencies in a virtual environment:

git clone https://github.com/<USERID>/compliance-checker
cd compliance-checker/

virtualenv --system-site-packages venv
source venv/bin/activate

pip install -r requirements.txt
pip install -r test_requirements.txt
pip install .

Test it runs:

cchecker.py -test acdd --test cf compliance_checker/tests/data/bad_data_type.nc

This should show the results of both the "acdd" and "cf" tests on the bad_data_type.nc file.

Run the text output and HTML output versions of the command:

To get text output:
cchecker.py -o output.txt -f text --test acdd --test cf compliance_checker/tests/data/bad_data_type.nc

And the HTML output:
cchecker.py -o output.html -f html --test acdd --test cf compliance_checker/tests/data/bad_data_type.nc

Compare the outputs and verify that only the second ("cf") test is stored in the output.html file.

Investigate the code and fix:

Find out where the HTML output is written and modify the code to fix it so that it records results of
all tests.

Add tests:

If necessary, add tests to the code base.

Push changes to GitHub:

Push changes to your GitHub.

Create Pull Request on IOOS repository:

Create a PR on the IOOS master repo.

Pull request created here https://github.com/ioos/compliance-checker/pull/545

Now been merged! https://github.com/ioos/compliance-checker/commit/ad498e4b0dbeaf89ad7e5e0ad87f0934489a4263


test output

This should reduce the amount of "failed at attempt" log messages.
Fixes: #564

This run produced 40M log which Jenkins again has trouble even showing. But I found repeated older log blocks in log, see recent comment in #563

https://cloudnative-k8sci.southcentralus.cloudapp.azure.com/view/pmem-csi/job/pmem-csi/view/change-requests/job/PR-565/1/:

Apr  2 16:18:03.626: INFO: worker-4-volume-20: DeleteVolume failed at attempt 1: rpc error: code = DeadlineExceeded desc = context deadline exceeded

The default context timeout of 5 minutes per test was too low for the direct testing stress test. Previously that timeout was ignored, now it is considered. That explains the failure, but not the log output size.
The more interesting part is:

I0402 16:25:22.667933  107082 dns_resolver.go:196] ccResolverWrapper: sending new addresses to cc: [{<IP_ADDRESS>:30208 0  }]

This first appears right after removing the first driver deployment. It comes from dangling gRPC connections to the nodes which now no longer exist. I thought I had solved this with https://github.com/intel/pmem-csi/blob/da7c9991944d55dd349385656497f7cd69b8429c/test/e2e/deploy/deploy.go#L50-L53 but perhaps not quite. Will check.

I thought I had solved this

I had missed the connections established for the original sanity tests. Might be fixed now.

I think I sorted everything out, and https://cloudnative-k8sci.southcentralus.cloudapp.azure.com/job/pmem-csi/job/PR-565/5 only had 12,040 KB of total log data.
@okartau ready to merge?

Major improvement!
I haven't counted lines, but by just looking to log, it's obvious we don't have much repetitions, as jenkins timestamps mostly match pod log timestamps, i.e. there is mainly no repeating of older lines.


Use proper multi select condition

Right now we are using this for loading from the db:
"col1 IN [a,b] AND col2 IN [e,f]"
which does give incorrect results since we need to load exact
combination:
"(col1, col2) IN [(a,e), (b,f), (b,e)]
The exact combination is especially needed when we are
determining if we should create/delete/update the records.
Unifying the compare and loading from the db to the correct
multiselect query. And using it on appropriate places.

@miq-bot assign @agrare

@miq-bot add_label enhancement


scroll support

I have lots of cloud words and i want container to have scroll..
is it possible ?

same answer as #11


[RC] added klarna custom checkout config, updated README link for nat…

…ive-extension

 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.rmcotton 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.


[Question] How do I retrieve the outputs of each trials of a sweep job?

Package Name:  azure.ai.ml.sweep
Package Version:  1.0.0
Operating System: Ubuntu
Python Version: py38

I am running a Sweep job successfully on AzML and now I want to retrieve the outputs of each
trials for further exploration.
Thing is reading the both the doc and the code I can't see how I am supposed to retrieve them. The SweepJob class does not seem to expose the run like hyperdrive used to.
I would love if any one could give me directions ❤

Label prediction was below confidence level 0.6 for Model:ServiceLabels: 'Storage:0.1816569,Service Bus:0.09357062,Event Hubs:0.033976667'

@bandsina can you answer @pievalentin's question? cc/ @azureml-github

@pievalentin you can do ml_client.jobs.list(parent_job_name="sweep-job-name")

@luigiw Thank you for answer.
Continuing on your answer, I have the following code:
trial = next(ml_client.jobs.list(parent_job_name="upbeat_cumin_0lq28mbtln"))
mlflow.get_experiment(experiment_id=trial.experiment_name).artifact_location

Ok I guess I won't be able to have the same behavior as the sdk v1. Here is the closest thing I have for retrieving the ouput of a single trial of a sweep job.
trial = next(ml_client.jobs.list(parent_job_name=returned_sweep_job.name))
client = mlflow.MlflowClient()
finished_mlflow_run = client.get_run(trial.name)
client.list_artifacts(finished_mlflow_run.info.run_id)

$ [<FileInfo: file_size=-1, is_dir=True, path='outputs'>,
 <FileInfo: file_size=-1, is_dir=True, path='system_logs'>,
 <FileInfo: file_size=-1, is_dir=True, path='user_logs'>]

Now you can doanload the output directory.
mlflow.artifacts.download_artifacts(run_id=finished_mlflow_run.info.run_id, artifact_path ="outputs",dst_path='sweep_trial_outputs')

I am not sure if the mlflow API enable file renaming
Hope this help someone in the future

@pievalentin thx for sharing your solution. Another thing you can try is ml_client.jobs.download(name=trial.name)


Error while calling Ciphey after successful installation on windows 7

⚠IMPORTANT⚠ if you do not fill this out, we will automatically delete your issue. We will not help anyone that cannot fill out this template.

[yes ] Have you read our Wiki page "Common Issues & Their Solutions"?

Describe the bug
I have successfully installed Ciphey on Windows 7 having python version 3.7.0 and python is 64 bit as well. During installation I didn't get any error and all dependencies were installed seamlessly.
Now when I call Ciphey and it gives me this 'module not found' error.
C:\Users\software>ciphey -- "hi this"
Traceback (most recent call last):
File "C:\Users\software\AppData\Local\Programs\Python\Python37\lib\runpy.py",
line 193, in run_module_as_main
"main", mod_spec)
File "C:\Users\software\AppData\Local\Programs\Python\Python37\lib\runpy.py",
line 85, in run_code
exec(code, run_globals)
File "C:\Users\software\AppData\Local\Programs\Python\Python37\Scripts\ciphey.
exe_main.py", line 4, in
File "C:\Users\software\AppData\Local\Programs\Python\Python37\lib\site-packag
es\ciphey_init.py", line 1, in
from . import basemods, common, iface
File "C:\Users\software\AppData\Local\Programs\Python\Python37\lib\site-packag
es\ciphey\basemods_init_.py", line 1, in
from . import Checkers, Crackers, Decoders, Resources, Searchers
File "C:\Users\software\AppData\Local\Programs\Python\Python37\lib\site-packag
es\ciphey\basemods\Crackers_init_.py", line 1, in
from . import (
File "C:\Users\software\AppData\Local\Programs\Python\Python37\lib\site-packag
es\ciphey\basemods\Crackers\affine.py", line 6, in
import cipheycore
File "C:\Users\software\AppData\Local\Programs\Python\Python37\lib\site-packag
es\cipheycore_init_.py", line 13, in
from . import _ciphey_core_py
ImportError: DLL load failed: The specified module could not be found.
Plaintext
⚠IMPORTANT⚠ The below code is non-negotiable for "Ciphey didn't decrypt...." problems. If you do not tell us your plaintext, we will not help you.

No

Verbose Output
⚠IMPORTANT⚠ Verbose output will tell us why it's not working the way we expected it to be.
Run Ciphey with ciphey -vvv and paste the results into Pastebin.com or a GitHub Gist
To Reproduce
Steps to reproduce the behavior:

What input did you use?
Ciphey -- "texttodecrypt"
What flags / arguments did you use?
Nothing
Expected behavior
I expected to get decrypted text

Any other information?
I have to use Ciphey on windows environment.

os：win11
python interpreter：Python 3.8.10 (tags/v3.8.10:3d8993a, May  3 2021, 11:48:03) [MSC v.1928 64 bit (AMD64)] on win32
pip：23.1.2
input：ciphey --help
Everything else is the same as the author


use base-64 encoding without padding

The spec states (see https://datatracker.ietf.org/doc/html/rfc7515#appendix-C) that all trailing '=' characters should be omitted.
Resolves #144

@ostrya fixed


No option to disable autocomplete

If allowInput is enabled chrome wants to autocomplete and list previous entered value, this looks bad with the datepicker. The input generated by flatpickr does not assign the autocomplete="off" attribute.

I'm seeing Firefox try to autocomplete my street address.  Definitely need a way to set autocomplete="off".
To the project maintainers:  Is this something for which a PR would be accepted?


Support for .eslintignore

It would be nice if the .eslintignore was respected.

Yeah, maybe that's a better place. But since I am now using my own runner https://github.com/doits/pronto-eslint_npm, where it works out of the box, I do not need this any more in here or in eslintrb.


fix for python 3.12, pathway analysis, multiqc reports and missing values in CPM file (updated with reorganized repo)

pipeline updated with python 3.12 and multiple qc 1.17
KEGG pathway analysis updated with general GSEA module from clusterprofiler (requires c2.cp.kegg_medicus.v2023.2.Hs.symbols.gmt file)
new file created called "all_non_CPM_filtered" to show a true all file that displays all genes regardless of filtering due to CPM. CPM file which contains all genes but previously had missing values is linked properly

Before merging, you'll also need to update the other Rmd files so it will pass tests. I don't see those commits here yet.

I ran an analysis with the current version of the repo, and now we're back to the same problem that used to happen with multiqc v1.17. I.e., during the multiqc step, this prints to stdout for every sample:
fastp | Could not parse sample name from fastp command: S287_pool2_fastp.json
And the fastp charts don't show up in the multiQC html report.
@syeddans, was this working properly when you tested it?
The github actions test (that happens on every push) doesn't check the md5sums for the multiqc report (see tests.yml, line 108).

Hi Lauren,
Last time I ran it everything seemed to work out properly. I will look into this to find a fix.
Best,
Syed

From: LMBradford @.>
Sent: Monday, January 29, 2024 4:02:22 PM
To: R-ODAF/R-ODAF_Health_Canada @.>
Cc: syeddans @.>; Mention @.>
Subject: Re: [R-ODAF/R-ODAF_Health_Canada] fix for python 3.12, pathway analysis, multiqc reports and missing values in CPM file (updated with reorganized repo) (PR #179)
I ran an analysis with the current version of the repo, and now we're back to the same problem that used to happen with multiqc v1.17. I.e., during the multiqc step, this prints to stdout for every sample:
fastp | Could not parse sample name from fastp command: S287_pool2_fastp.json
And the fastp charts don't show up in the multiQC html report.
@syeddanshttps://github.com/syeddans, was this working properly when you tested it?
The github actions test (that happens on every push) doesn't check the md5sums for the multiqc report (see tests.yml, line 108).
—
Reply to this email directly, view it on GitHubhttps://github.com/R-ODAF/R-ODAF_Health_Canada/pull/179#issuecomment-1915560195, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AZPSFBX27RFZRQFJDOA3MJDYRAE55AVCNFSM6AAAAABBRSIVZSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJVGU3DAMJZGU.
You are receiving this because you were mentioned.Message ID: @.***>


Add conditional singletons

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Tests pass?
✔

Conditional singletons. When the __cacheCondition equal true, the cached singleton instance will be returned, otherwise, the cache will be reset and a new instance will be returned
Examples:
This is a session-dependent service. When a new session starts, a new instance of the IdentityRepository will be returned.
IdentityRepositoryInterface::class => [
        '__definition' => static function (ContainerInterface $container) {
            return $container->get(\Cycle\ORM\ORMInterface::class)->getRepository(\App\Entity\User::class);
        },
        '__cacheCondition' => function (ContainerInterface $container) {
                $currentSession = $container->get(SessionInterface::class);
                $lastSessionStorage = $container->get(\App\LastSessionStorage::class);
                $sameSession = ($currentSession->getId() === $lastSessionStorage->getSession()->getId());
                if (!$sameSession) {
                    $lastSessionStorage->setSession($currentSession);
                }

                return $sameSession;
            },
    ],

This is not a singleton service. Every time a new instance will be created.
MyNotSingletonServiceInterface::class => [
    '__class' => IAmNotSingleton::class,
   '__cacheCondition' => false,
   '__construct()' => ['someParam']
]

How about to write a few test cases? :)

That's interesting.
Are you sure multiple conditions and conditions overall are needed? For RoadRunner / Swoole we have entry points that clearly define the workflow such as:
// RR and app init
$statelessContainer = new Container(require Builder::path('stateless'));
$statefulContainer = new Container(require Builder::path('stateful'));

$container = new CompositeContainer();
$container->attach($statelessContainer);
$container->attach($statefulContainer);

while ($request = $psr7->acceptRequest()) {
    try {
        $response = $application->handle($request);
        $psr7->respond($response);
    } catch (\Throwable $e) {
        $psr7->getWorker()->error((string)$e);
    }
    gc_collect_cycles();
    $statefulContainer->reset(); // <--- THIS
}

$application->shutdown();

That's interesting.
Are you sure multiple conditions and conditions overall are needed? For RoadRunner / Swoole we have entry points that may clearly define the workflow such as:

Your solution is for the main container only. Every module/package/ service can have its own container. In this way (this PR) you can set session-dependent or request-dependent singletons in any container.

Closed in favor of https://github.com/yiisoft/di/pull/120


Extend the export function to write to loose objects instead of only to packs

The function has been added in #75
We can add a new parameter to_pack=True by default, in order not to change the default behaviour.
In this case we would ignore the compress flag.
Note that before implementing this, we need to address #78 as now there is no way to store an object from a stream to avoid excessive memory usage.
COMMENT: we will need if this is needed, otherwise we just close this issue since this can be implentented with a simple loop calling add_object many times and there isn't probably much optimisation that can be done.

Closing for now because of the comment above - just pinging @sphuber in case this will be needed for AiiDA and a simple loop (in the case of loose objects) is not enough, we can reopen this


not working after getting the package

C:\Users\bhara\OneDrive\Desktop\hack\bt_jam\android\app\src\debug\AndroidManifest.xml Error:
Attribute application@name value=(android.app.Application) from (unknown)
is also present at [:chaquopy] AndroidManifest.xml:7:18-72 value=(com.chaquo.python.android.PyApplication).
Suggestion: add 'tools:replace="android:name"' to  element at AndroidManifest.xml:3:4-33:19 to override.
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':app:processDebugMainManifest'.

Manifest merger failed : Attribute application@name value=(android.app.Application) from (unknown)
is also present at [:chaquopy] AndroidManifest.xml:7:18-72 value=(com.chaquo.python.android.PyApplication).
Suggestion: add 'tools:replace="android:name"' to  element at AndroidManifest.xml:3:4-33:19 to override

@GeekyBharat99 You can try adding 'tools:replace="android:name"' to element at AndroidManifest.xml:3:4-33:19 to override.

That is fixed , but now its saying
"cannot use genericplatform on android. call python.start(new
androidplatform(context)) before using python, or use pyapplication to do
this automatically. "
Now what to do.
On Wed, Jan 12, 2022, 2:27 AM Jay Ashokbhai Dangar @.***>
wrote:

@GeekyBharat99 https://github.com/GeekyBharat99 You can try adding
'tools:replace="android:name"' to element at AndroidManifest.xml:3:4-33:19
to override.
—
Reply to this email directly, view it on GitHub
https://github.com/jaydangar/chaquopy_flutter/issues/19#issuecomment-1010353050,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOF67BRCROPJH6S4R6FEA5DUVSKSJANCNFSM5LXE4ZNA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>

It means that you need to add android:name="com.chaquo.python.android.PyApplication" under application tag of your androidmanifest.xml file.

Ok, thanks.
On Wed, Jan 12, 2022, 9:31 PM Jay Ashokbhai Dangar @.***>
wrote:

It means that you need to add
android:name="com.chaquo.python.android.PyApplication" under application
tag of your androidmanifest.xml file.
—
Reply to this email directly, view it on GitHub
https://github.com/jaydangar/chaquopy_flutter/issues/19#issuecomment-1011196381,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOF67BRICXOMOGPSMKBBKH3UVWQV3ANCNFSM5LXE4ZNA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


feat(Topology): add Dense.induction

This can be used as
induction x using hs.induction with
| mem x hx => sorry
| isClosed => sorry

when hs : Dense s

bors d+
Thanks!


Animation performance for transitioning routes

It seems if you have quite complex websites and you animate the whole route transition (i.e. the entire site), the animation is quite visibly 'laggy'.
Do you have any ideas if and how performance cold be improved? Does this mostly have to do with velocity? Or is that something rather with the implementation in liquid-fire?
If an example would help I would be happy to provide one.
Oh and my code is as simple as:
export default function(){
  this.transition(
    this.fromRoute('form.index'),
    this.toRoute('form.impact'),
    this.use('toLeft')
  );

  this.transition(
    this.fromRoute('form.impact'),
    this.toRoute('form.index'),
    this.use('toRight')
  );
}

and using a liquid-outlet in my form.hbs

I bump into this a lot with all sorts of content (not just images) and the problem is that there doesn't seem to be a good way to trigger or delay the processing of some methods on the incoming route until after the animation is complete.


Update border-color of langage bar icon

Update style of color icons for language bar:
Before:

After:

This is how it looks on arc-green. I guess it's okay.


Add FXModel

Motivation
With optimum.fx, we can quantize and do graph transformations quite easily, but that's about it. What about using the models once you are done? Converting to ONNX? Currently you need to implement you own custom subclass for this to work.
What does this PR do?
This PR adds a class wrapping a torch.fx.GraphModule into a transformers.PreTrainedModel for easy use of the transformers toolings (pipelines, evaluate, etc.).
We add as well a method wrap_fx_model allowing us to do this wrapping as a one-liner.
A couple of caveats here:

Pipelines require forward() methods to have return_dict=True (as e.g. model_outputs["logits"] is used in postprocess functions), but to export quantized models with fx to ONNX, torch.onnx.export calls torch.jit.trace that does not accept dictionary as an output: see here and here (would need to pass strict=False which is not feasible with the current pytorch implementation).
transformers.onnx.export checks that the model input keys (from generate_dummy_inputs) are a subset of the signature of forward. Hence by rewriting def forward(self, *args, **kwargs) we loose the signature information, and we need hence have a custom on-the-fly workaround.
Hence, the custom __getattribute__ and return_tuple decorator are probably adding some overhead that we would better not have.

What do you think @michaelbenayoun @younesbelkada anybody else working with fx? Would this be useful? The code is rather hacky, so if you find a better way feel free to suggest.
Actually I wonder if the symbolic_trace could not keep the class inheritance directly, instead of returning a fx.GraphModule (for example would return a DistilbertForSequenceClassification instead?
Example of usage
from optimum.fx import wrap_fx_model

import transformers
from transformers.utils.fx import symbolic_trace
from transformers import AutoModelForSequenceClassification, AutoTokenizer, pipeline

from pathlib import Path

model_name = "philschmid/tiny-bert-sst2-distilled"

model = AutoModelForSequenceClassification.from_pretrained(model_name)
model.eval()

tokenizer = AutoTokenizer.from_pretrained(model_name)

fx_model = symbolic_trace(model, input_names=["input_ids", "token_type_ids", "attention_mask"])

# here do whatever modification you want on the graph, but preserving the input / output

# _w for wrapped
fx_model_w = wrap_fx_model(graph_module=fx_model, config=fx_model.config, task="sequence-classification")

pipe = pipeline(task="text-classification", model=fx_model_w, tokenizer=tokenizer)

res = pipe("well let's hope the team will like it!'")
print(res)

from transformers.onnx import FeaturesManager

_, model_onnx_config = FeaturesManager.check_supported_model_or_raise(model, feature="sequence-classification")
onnx_config = model_onnx_config(model.config)

# fx_model_w.return_dict = False  # required for onnx export if we do some quantization with fx first

onnx_path = Path("model_fx.onnx")
res = transformers.onnx.export(tokenizer, fx_model_w, onnx_config, onnx_config.default_onnx_opset, onnx_path)

Left to do

[ ] Tests
[ ] Documentation
[ ] Tutorial on how to use with transforms / quantization

Thanks a lot @fxmarty  !
This could be super useful in the context of #423 ! We were wondering with @michaelbenayoun how to use fx without "forgetting" the class functions after transformations 🔥

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

Nice @fxmarty !
There is also the approach we talked about offline. Let's discuss what is more adapted for us.


PgCat has higher overall latency / seems to swap connections around on k8s

Describe the bug
We attempted to replace pgbouncer with PgCat as our connection pooler for our kubernetes app, and encountered unexpected behavior. The average latency to the database seems to have increased ~15ms upon switching the web application over, and throughout our trial run, the 6 PgCat pods we created seemed to dramatically re-arrange their client connections whenever new pods were created or removed due to autoscalers, leading to even higher latency.
To Reproduce

Deploy the helm chart with 6 replicas. (full config is below).
Point some 50~ high-traffic pods to the PgCat service.

Expected behavior
TPS and latency are expected to be, at least, on par with pgbouncer, ideally better. Additionally, client connections among each individual PgCat pod were expected to remain mostly stable, only increasing/decreasing as new pods and connections were created or removed, rather than the quite dramatic re-arrangements observed.
Screenshots
We enabled prometheus metrics for this trial, and graphed several metrics in datadog. Attached below are graphs showing puma's response time for various components both before and after switching it to PgCat at around 11:40. The immediate increase in average latency is quite clear. After 12:00, as additional pods began spinning up (due to autoscalers), connections began jumping between the 6 PgCat pods at a surprising degree, further increasing the latency.
puma's response time for its various services. The top light-blue segment represents latency to the DB.

PgCat client connections graphed per pod, per database. Each line is cl_active + cl_idle metrics to indicate total connections.

PgCat server connection utilization percentage per pod, per database. Each line is databases_current_connections / databases_pool_size * 100) to give a percentage.

Kubernetes info:

Version: 1.30
Worker node OS: Ubuntu 22.04
PgCat version: v1.2.0

Additional context
Full config used for this trial:
[general]
host = "<IP_ADDRESS>"
port = 6432
enable_prometheus_exporter = true
prometheus_exporter_port = 9930
connect_timeout = 15000
idle_timeout = 600000
server_lifetime = 3600000
server_tls = false
idle_client_in_transaction_timeout = 0
healthcheck_timeout = 1000
healthcheck_delay = 30000
shutdown_timeout = 60000
ban_time = 60
log_client_connections = false
log_client_disconnections = false
tcp_keepalives_idle = 5
tcp_keepalives_count = 5
tcp_keepalives_interval = 5
admin_username = XXXXXXXX
admin_password = XXXXXXXX

##
## pool for primary
##
[pools."primary"]
pool_mode = "transaction"
load_balancing_mode = "random"
default_role = "any"
prepared_statements_cache_size = 500
query_parser_enabled = false
primary_reads_enabled = true
sharding_function = "pg_bigint_hash"

##
## pool for replica
##
[pools."replica"]
pool_mode = "transaction"
load_balancing_mode = "random"
default_role = "any"
prepared_statements_cache_size = 500
query_parser_enabled = false
primary_reads_enabled = true
sharding_function = "pg_bigint_hash"

## pool primary user
##
[pools."primary".users.0]
username = XXXXXXXX
password = XXXXXXXX
pool_size = 200
statement_timeout = 0
min_pool_size = 3

## pool replica user
##
[pools."replica".users.0]
username = XXXXXXXX
password = XXXXXXXX
pool_size = 200
statement_timeout = 0
min_pool_size = 3

## pool primary database mastodon
##
[pools."primary".shards.0]
servers = [
    [ "<IP_ADDRESS>", 5432, "primary" ],
]
database = "webapp"

## pool replica database mastodon
##
[pools."replica".shards.0]
servers = [
    [ "<IP_ADDRESS>", 5432, "primary" ],
]
database = "webapp"

This issue is potentially related to another high-latency issue https://github.com/postgresml/pgcat/issues/459. Also tagging https://github.com/postgresml/pgcat/issues/872 as they are having performance issues with their attempt.

On the first graph, what is aggregation function is this? Averages, Medians, p99s?
When we started using PgCat in production about a year ago, we noticed that Pgbouncer was a bit faster but not 15ms faster. It was more on the order of 2ms at the p99. So 15ms is pretty high and I am curious about the setup you have running.
The client connection churn is not something I saw in production. How does Pgbouncer behave when the autoscaler kicks in?
If the autoscaler is just adding pods, PgCat won't drop client connections in response, do we know why client connections are being dropped on PgCat?

@drdrsh
This is an average function.
And I want to clarify, the first graph is response time (i.e. ping), not actual throughput. Being ~15ms higher means the latency/ping is higher, which indicates a decrease in performance, not an increase. We didn't actually get around to testing actual throughput or performance as the increase in latency (especially the spikes) were getting bad enough that we had to back down from the trial.
As far as how pgbouncer behaves in our situation, below is a graph over the last hour of client connections per node in pgbouncer. Throughout this hour dozens of pods have been created and deleted (this autoscaler only adds/deletes pods), all of which need DB connections. This doesn't differentiate between databases, which is why it looks a little different, but it is much less chaotic, which is what I was expecting from PgCat as well:

On the autoscaling side, I will try to reproduce your findings.
On the first graph, I am interested in seeing the percentiles and the max. I want to see if the bump is due to higher latency overall or tail latencies driving the mean up

@drdrsh
No problem. Below are the percentiles for the first graph:

And below is the max. Separate graph because it's measured in minutes in many places, while the percentiles were just seconds:

To provide additional information, the mastodon.http.duration.db metric is the time spend doing database queries, as reported by Rails, and is extracted from our web server logs.
When the auto-scaler kicks it, it will start / stop pods that run Ruby/Rails processes, which will in turn connect to pgcat / pgbouncer. Each process/pod has it's own internal connection pool (managed by Rails).


Can't download

I'm running the latest "Atom.deb"  and i can't install this package.
Help ?

sorry, i din't saw the other post that people already saying that can't install the package :-(


Force re-render after setQueryData call?

Whenever I call setQueryData directly, nothing re-renders or reflects the cache change. Could it be possible to call setQueryData outside of any hook to trigger re-renders where the query key is used?

Feel free to reopen with a reproduction. Thanks!

@tannerlinsley hmm you are absolutely right! I cannot reproduce it in a small example (https://codesandbox.io/s/confident-glitter-cnqoz)

OK it seems that I was using an incorrect cache key 🙄

I'm facing the same issue. it returns updated data on const updatedData = queryClient.setQueryData but nothing re-renders on the screen. I'm forced to do queryClient.invalidateQueries(); to make it re-render.

then please reproduce it in codesandbox, because it seems like a different problem. setQueryData does update the cache, and observers should re-render accordingly.

@TkDodo it's actually in the middle of a project. i'll try my best to make a codesandbox, to reproduce this issue, as quickly as i can.

for anyone else facing this same issue, if you're using the previous value to calculate the new one, make sure you're not mutating the previous value directly (cause it's wrong) and make sure you're returning a new reference, otherwise observers won't be notified about the changes (this was the reason my code wasn't working)
this won't trigger rerender:
queryClient.setQueryData(['queryKey'], (previousValue) => {
previousValue = 'newValue';
return previousValue;
});

@juxnpxblo do you think we should highlight this somewhere in the docs? I mean it's equivalent to handling state in react so I'm not sure why it would be surprising that this doesn't  work 🤔

@TkDodo well, looking back now from that perspective - that this is just regular react state management - it seems obvious but I guess for me (and maybe other less experienced devs out there) at that time that was not so clear
so I think yes it'd be good to have this highlighted somewhere in this specific api docs (I mean why not?)

I'm having a similar problem. Updating the cache with setQueriesData doesn't seem to notify the component using the data unless the mutation function is declared inside that component..?
Is this expected behaviour, and if so what is best practise for triggering the render? I am trying to move away from using invalidateQuery, and I'd rather not relocate the mutation function and prop drill unless I really have to...

@runticle not sure what you mean, please show a reproduction

ah I apologise, my issue is actually because my query update merely reorders an array.
https://github.com/TanStack/query/issues/5829
disabling structuralSharing fixes it but I don't really want to do that..
Right now I have essentially
const new = [...old]
*sort new*
return new

I originally thought it was related to this guy
https://stackoverflow.com/a/74114874/21941104

Forgive me but isn't this immutable?
(oldData) => {
    const newData = { ...oldData }; // Make a shallow copy of oldData

    for (const page of newData.pages) {
        for (const chat of page.chats.nodes) {
            if (chat.id === pushNotification.toId) {
                // Move the chat to the top of the list
                const index = page.chats.nodes.indexOf(chat);
                if (index !== -1) {
                    page.chats.nodes.splice(index, 1);
                    page.chats.nodes.unshift({ ...chat }); // Create a shallow copy of chat
                }

                return newData; // Return the updated data
            }
        }
    }

    return newData; // Return the original data if no changes were made
}

no, how is this immutable? { ...oldData } makes a shallow copy, but newData.pages.chats.nodes still references the same objects / arrays as oldData, so when you call mutating methods on them like splice, it will also change oldData, thus our comparison algo won't see a difference.
If you like to work with splice and unshift, have a look at immer.

TIL! Thanks I had no idea {...xyz} doesn't deep copy nested objects 🤯
Will use immer :D Have a good weekend!

no, how is this immutable? { ...oldData } makes a shallow copy, but newData.pages.chats.nodes still references the same objects / arrays as oldData, so when you call mutating methods on them like splice, it will also change oldData, thus our comparison algo won't see a difference.
If you like to work with splice and unshift, have a look at immer.

I had this same issue. I didn't realize that {...oldData} would cause issues for nested objects. Using immer fixed it.

The fix for me was passing in an updater function to setQueryData, not just the raw state. For some reason, I forgot setQueryData has the same updater type as setState and was passing in the value { ... todo, newProperty: true } instead of (todo) => ({ ... todo, newProperty: true }) as is best practice.
So not:
// todo represents old state in component lifecycle, likely fetched from useQuery
queryClient.setQueryData(['todo', 1], { ... todo, newProperty: true });

but
queryClient.setQueryData(['todo', 1], (todo) => ({ ... todo, newProperty: true }));

In my case, my code had this buried under a layer of helper functions so it was harder to identify at first, but this was the ultimate fix.


In properties for JPA Classes add "Package"

For division into different packages of the same level.
Requered:

ru.contacts.model
ru.marketing.model

Now:

ru.contacts.model
ru.contacts.marketing.model

Please provide the sufficient info and reopen it.


Error when building microkernel images

@larry-dean reported to that he was attempting to build the microkernel images based on the instructions in the README, and it failed out with the error
ERROR: cannot find role in /emc/deanl1/source/on-imagebuilder/common/{{ provisioner }} or /emc/deanl1/source/on-imagebuilder/{{ provisioner }} or /etc/ansible/{{ provisioner }}
I quickly reproduced the situation locally, attempting to run sudo ansible-playbook -i hosts all.yml, and got the same error on a local, fresh ubuntu host.

Note from a quick conversation with @benbp - issue is with ansible and variable interpolation, and a change between version 1.5 and 1.9. This occurs with the latest ansible, but not with the "stock precise ubuntu" version: ansible=1.5.4+dfsg-1 - so quickest workaround is to use the specific ansible version

related issues:

https://github.com/ansible/ansible/issues/12633
https://github.com/ansible/ansible/issues/8638


Inheriting from a frozen class causes instantiated child hashes to collide

This works as expected:
class A:
    pass

class B(A):
    pass

class C(A):
    pass

assert hash(B) != hash(C)
assert hash(B()) != hash(C())

=========================== 1 passed in 3.39 seconds ===========================

This errors:
import attr

@attr.s(frozen=True)
class A:
    pass

class B(A):
    pass

class C(A):
    pass

assert hash(B) != hash(C)
assert hash(B()) != hash(C())

>       assert hash(B()) != hash(C())
E       AssertionError: assert<PHONE_NUMBER>354620882 !=<PHONE_NUMBER>354620882
E        +  where<PHONE_NUMBER>354620882 = hash(B())
E        +    where B() = <class 'test_attr_bug.<locals>.B'>()
E        +  and<PHONE_NUMBER>354620882 = hash(C())
E        +    where C() = <class 'test_attr_bug.<locals>.C'>()

So these two instantiated classes hash to the same value despite a) being instances of different classes and b) being of classes which, when uninstantiated, have differing hashes.
This seems very wrong to me!

@EdwardJB : The behavior seems more general than this.
import attr
@attr.s(hash=True)
class A:
    pass

@attr.s(hash=True)
class B:
    pass

hash(A) == hash(B)
Out[5]: False

hash(A()) == hash(B())
Out[6]: True

If you look at how the hash is computed, the type appears not to be used anywhere (despite the name type_hash being used).
While the behavior might seem a little odd, it isn't wrong (since there are no hard guarantees about hash code collisions even for objects of the same type) and it is difficult for me to imagine a case where it has significant performance implications.
(to compare to a similar library, sampling some generated code from Java's Immutables indicates they do not incorporate the class into the hash code either)

It seems good to at least rename type_hash to a less misleading name in the code, though.

And the footnote on http://www.attrs.org/en/stable/hashing.html#id1 which says "The hash is computed by hashing a tuple that consists of an unique id for the class plus all attribute values" doesn't match the actual behavior.

And the footnote on http://www.attrs.org/en/stable/hashing.html#id1 which says "The hash is computed by hashing a tuple that consists of an unique id for the class plus all attribute values" doesn't match the actual behavior.

That's what I was relying on. Can you guys add an include_type_in_hash argument?

@EdwardJB : well, that's up to @hynek , etc.  I'm just a random person. :-) . But I'm a little curious what your use case is where this matters?  The only impact would be increasing the collision rate for collections which contain lots of objects which have identical content except for their type.   I'm having a hard time imagining a circumstance which would require this?

Multiple things:

It is indeed OK for hashes to collide, see my blog post on that topic for details. That makes this kind of a feature request, not a bug. But I'm not gonna discuss semantics here. :)
I was thinking on removing the method caching anyways because it seems a fringe problem (saves some ram and setuptime when you create lots of identical but different classes) that introduces unnecessary complexity. This might be another instance where that might come handy.
If someone can find a way to remove the method caching and add a cached type hash instead that is mixed into the hash call, I would merge it (barring any unforseen problems).


Standard init_linux.go:185 exec user process caused "exec format error"

Steps taken:
Run docker pull bkimminich/juice-shop
Run docker run --rm -p 3000:3000 bkimminich/juice-shop
Results:
Standard init_linux.go:185 exec user process caused "exec format error"
OS= Kali linux
pip version= 18
Attempted to run with docker-compose
standard init_linux_go:185 exec user process caused "exec format error"
Error - Service 'owtf' failed to build: the command 'bin/sh -c apt-get -y update && apt-get clean' returned a non-zero code:1
Any assistance will be greatly appreciated.

@guyenko, I've been asking my fabulous pentester-buddies from https://7ms.us/slack to try reproduce your problem.
Also I am wonderung why the owtf service complains in your setup. Is this https://github.com/owtf/owtf or https://www.owasp.org/index.php/OWASP_OWTF or something completely different? Neither OWTF mentioned before has anything to do with the Juice Shop nor is either used by it...

I have confirmation by someone from 7MS channel who just ran docker run --rm -p 3000:3000 bkimminich/juice-shop on Kali 2018.2 and it worked out of the box.
So, unfortunately the issue must be somewhere on your end. Updating your OS and installing the latest Docker version, that is the best recommendation I can provide at this point.

No worries. I am running the app in Heroku. Last week this was not launching and now it is.


Extend the LogSink interface to be able to pass microseconds

The goal of this PR is to solve the problem of passing microseconds into custom LogSink implementations that was described in https://github.com/google/glog/issues/307.
I am proposing a slightly different approach, however: instead of modifying the existing send() signature I am adding  the second one.
This has an advantage of not breaking all the third-party LogSink implementations immediately (including ours) ... and, unfortunately, all the disadvantages associated with this approach.

I signed it!

@asekretenko would it make sense for the usecs parameter to be unsigned?

@asekretenko would it make sense for the usecs parameter to be unsigned?

Probably it makes sense.
I cannot remember any way to obtain a negative value for (x - static_cast<some_interger_type>(x)) * 1e-6 for an IEEE754-compliant double x if x>0. And you?

@asekretenko would it make sense for the usecs parameter to be unsigned?

On the other hand, on some crazy (or "slightly buggy") platform we might get a negative value here for some corner case.  Seeing ".-000001" in the microseconds would help to understand what the hell is going on much better than seeing  seemingly normal values in a strange order. Been there, done that (albeit with another logging system).
Probably it would be better to follow advice from Google's style guide

Do not use an unsigned type merely to assert that a variable is non-negative.

and leave microseconds signed.

@shinh @sergiud May I ask you to have a look at this PR?


[BLOCK] unsupported YUM repo 'acronis-cpanel-stable'

On all servers in need of an elevate we see this issue:
* 2023-08-10 14:56:30 [ERROR] 1 package(s) installed from unsupported YUM repo 'acronis-cpanel-stable' from /etc/yum.repos.d/acronis-cpanel-stable.repo
* 2023-08-10 14:56:30 [WARN] *** Elevation Blocker detected: ***
  One or more enabled YUM repo are currently unsupported.
  You should disable these repositories and remove packages installed from them
  before continuing the update.

removing these packages will disable backup functionality.

We will look into supporting this repo but no eta

Hi,
We  see the same issue on our platform too. Is there a way to "except" this repo from being checked?
Removing Acronis will delete the entire installed backup machine and all backups underneath this.


Adding HtxBootme test on OpTest

The test is performed in below manner

Starts Htx workload on mdt.all
Starts bootme which reboots the lpar every 30 minutes
wait for reboot and check htxerror logs after reboot, Htx must continue without any errors
Stop bootme
Stop Htx workload

Param : "boot_count" must be given from machine.conf file. The param is for the number of counts the reboot cycle must happen. Default is 6
machine.conf
[op-test]
bmc_type=
bmc_ip=
bmc_username=
bmc_password=
host_ip=
host_user=
host_password=
hmc_ip=
hmc_username=
hmc_password=
system_name=
lpar_name=
time_limit=
time_unit=
boot_count=
mdt_file=
htx_rpm_link=

Please find the Logs attached here
[20240322112000900167.debug.log]

Separate out commits per each logical change

Separate out commits per each logical change

Done

@TasmiyaNalatwad so we do not have logs for NIC bootme.. than you can split out the PR for NICbootme separately so I can merge this generic and block as this PR.. and keep open the other PR until ETA and we have tested once

@abdhaleegit Removed Nic devices from this PR as of now. After this is merged will share the separate PR for Nic devices


Ignore authority header check when it contains | char

This PR fixes #53 by forking https://github.com/hyperium/h2 and allowing requests with authority header containing pipe | characters.
The fix is present at: https://github.com/rahulanand16nov/h2/commit/d956cec4ac9dc1ee94aac416f5d338d5b296f902
It's not a security risk since the authority header is used nowhere in the logic of limitador (correct me if I am wrong). A similar issue will be created in the dependencies repo to fix it.
An image that contains this fix and works: quay.io/rahanand/limitador:test

I have created an issue in the upstream so we can remove our fork in the future when it's fixed. https://github.com/hyperium/h2/issues/619

So that's all hardcoded afaict: https://github.com/istio/istio/blob/32afc27ea91ef68e4e5f0ee3dd47d0aedfba35f1/pilot/pkg/model/service.go#L691-L693

Yup, can close now but the issue should remain open.


Extend automatic rendered link to the blog.rust-lang.org repo

This PR extends the automatic addition of the "Rendered" link to the blog.rust-lang.org repo, as is currently done for the rfcs repo.

Maybe it's me but I don't understand what this patch is doing (I feel it's doing something useful). Can you please provide an example? :slightly_smiling_face:

Ah OK, so the blog posts PRs will automatically have the markdown rendered link in the opening comment instead of the user having to click around and find it themself.
Cool, thanks.


Bypass Devise User Tracking

Is it possible to configure this to not update devise trackable attributes such as current_sign_in_at, etc? Also asked here: http://stackoverflow.com/questions/23379570/devise-switch-user-how-to-avoid-trackable-update-for-a-switch-user

it's fixed in version 1.0.0


Add support for extensions to the HTTP protocol

Description
The GQL spec specifies a field called extensions as part of the request parameters spec in the HTTP protocol. We are missing support for this

Adding the field to be parsed and propagating it as part of the Info object. This is done by wrapping the entire context object in a temporary container, and then unwrapping it inside the Info context getter. A new function is also added to the Info class called input_extensions. It exposes the extensions data.
Example usage by the end-user:
@strawberry.field
def value_from_extensions(self, key: str, info: strawberry.Info) -> str:
    return info.input_extensions[key]

Types of Changes

[X] Core
[ ] Bugfix
[X] New feature
[ ] Enhancement/optimization
[X] Documentation

Issues Fixed or Closed by This PR

fixes https://github.com/strawberry-graphql/strawberry/issues/3224

Checklist

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Summary by Sourcery
This pull request introduces support for the 'extensions' field in HTTP requests, allowing it to be parsed and included in the ExecutionContext. This change is accompanied by updates to the documentation and new tests to ensure proper functionality.

New Features:

Added support for the 'extensions' field in HTTP requests, allowing it to be parsed and propagated as part of the ExecutionContext.

Documentation:

Updated documentation to reflect the new support for the 'extensions' field in HTTP requests.

Tests:

Added tests to verify the correct handling and propagation of the 'extensions' field in both GET and POST HTTP requests.

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver, so make sure to pick the appropriate type. If in doubt feel free to ask :)
Here's the tweet text:
🆕 Release (next) is out! Thanks to Omar Marzouk for the PR 👏

Get it here 👉 https://strawberry.rocks/release/(next)

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver, so make sure to pick the appropriate type. If in doubt feel free to ask :)
Here's the tweet text:
🆕 Release (next) is out! Thanks to Omar Marzouk for the PR 👏

Get it here 👉 https://strawberry.rocks/release/(next)

@erikwrede Hi! yea I think I need to do a fresh take on this, I think I hit a dead end with my current approach, I've been investigating how to do it, and I think we have a couple options:
1- Wrap the context field in another object that holds the extensions and the context, i.e. wrap the field before this line, then unwrap it inside the Info class. We would then introduce an input_extensions or protocol_extensions field to Info that reads the extensions from the wrapper.
2- Extend the definition of the get_context function, add a 3rd parameter called extensions. Usually http users use the Request param to get headers, extensions can be extracted by the user here as well. However, this would require moving the body parsing and data fetching to happen before the get_context is called, i.e. this operation would have to move above this line
The benefit of doing Option 1 would be that we can add this right away to http, without having to modify other protocols, and just include a type check for the wrapper in the info.context getter. It can then be added to other protocols over time, in other PRs.
What do u think? should I go ahead and do Option 1?

hi @erikwrede, I went ahead and implemented Option 1 mentioned above, which is to wrap the context object and unwrap it in the Info getter. I also added a new test that is passing successfully. Please let me know what you think. 🙏

pinging @patrick91 as well, since we discussed this originally in https://github.com/strawberry-graphql/strawberry/issues/3224

Hello! apart from the extra check for list in the parameter parsing which is potentially redundant and might be removed, as I understand it, that change is also not really blocking for this PR, right? https://github.com/strawberry-graphql/strawberry/pull/3558 could be updated to remove the list parsing for extensions after this one is merged?
Is there any other comments regarding this PR? the approach in general around wrapping context and exposing the extra field in the Info object? how would you like me to proceed?
@bellini666 @DoctorJohn @erikwrede @patrick91

Hi! I have merged main to include https://github.com/strawberry-graphql/strawberry/pull/3558 and removed the extra list type check for the extensions param. Anything else you guys would like me to change about this PR? if not I can should I create a release file?
@bellini666 @DoctorJohn @erikwrede @patrick91

hello! sorry to keep pinging, we are really eager to use this in our APIs, do u think its possible to get some traction on it? I'm happy to help any way I can @patrick91 🙏

@omarzouk sure, I think I'll have time this week(end) (I'm currently travelling) 😊
And please consider sponsoring us, so we can prioritise issues better ;)

@omarzouk an update on this, I think I found a nice way to pass the request extensions to info, but it is quite different from this, so I might try it in another PR


input() bug

To maintain 'identical api' with the laravel request class the package should support calling input() with no parameters. Currently it errors out due to lack of a parameter.

The docs need updating then. I intentionally didn't include this.

I think we should aim at extending the core Input functionality. What do you think @GrahamCampbell? I like drop-in replacements, so much better than applying Binput all over the place.
I am using Binput in Input alias at the moment, but some features are missing from the Input facade, such as has().

I am using Binput in Input alias at the moment, but some features are missing from the Input facade, such as has().

I'd be open to a PR to add that. :)

I am not aware of anything else missing, other than any intentional changes I've made to avoid the multitude of ways of calling methods, which I don't like, and any missing methods from the actual facade, which I have not yet checked myself to confirm.


Python binding for Starspace

Truely interesting embedding model, but I am wandering any plan for its Python binding?

@gitathrun Thanks for the suggestion! Agree that Python binding would be very useful. We currently have quite a few feature requests, so it might take some time for us to get to the Python binding, but it is on the list.

looking forward to see Python bindings.

it's will be much better for us to use python

StarSpace ❤ Python

@valentin-pinkau Thanks for working on that! I will look into the PATENT issue to see if we can change that.

@valentin-pinkau If possible can you share your python wrapper? Also, I am open if you need any help on that. (I am experienced in Python but never wrote a wrapper).

@ledw is there any movement regarding the patent issue?

A python module would be very helpful

For anyone interested, I made a class to easily communicate with query_predict using Python.
link

@valentin-pinkau It might be hard to remove the patent part as it is one of the standards for projects under facebookresearch. We will work on than and keep you updated.

@maximedb awesome! Thanks for working on that.

Extended @maximedb code - link
You can use it for query_predict , embed_doc and query_nn

I have started writing one. Had to learn pybind11 for this. Now, a basic version is ready. I have submitted a pull request here: https://github.com/facebookresearch/StarSpace/pull/197

@freakeinstein I've tried to build your version but got this error:
Traceback (most recent call last):
  File "test.py", line 1, in <module>
    import starwrap as sw
ImportError: dlopen(/Users/sergejtitov/Documents/Actual/Humanteq/LibHQ/starspace/python/test/starwrap.so, 2): Library not loaded: libstarspace.so
  Referenced from: /Users/sergejtitov/Documents/Actual/Humanteq/LibHQ/starspace/python/test/starwrap.so
  Reason: image not found

I'm not very experienced in compiling apps so would appreciate any help!
System info:
MacOS 10.14.1
Python 3.7.0
cmake version 3.13.1
Conan version 1.10.0

@TitovS Can you check if starwrap.so is present at /Users/sergejtitov/Documents/Actual/Humanteq/LibHQ/starspace/python/test/? If not, it is not building properly. Then look for any other errors before that.

Thank you for the swift reply!
I've checked - starwrap.so  is definitely in python/test/. Also I've done clean build and had same issue. Build log in attachments.
starspace build log.txt

Hi, @TitovS  I have tested it on Mac OSX now. Please set DYLD_LIBRARY_PATH  as path to lib directory and it will work.

Thanks! I've solved this issue by copying libstarspace.so to test directory. But I've defining will try setting up DYLD_LIBRARY_PATH

Added in https://github.com/facebookresearch/StarSpace/pull/197


Compile error with Questasim tool

Hello ,
I've cloned the google/riscv-dv repo from github and trying to run one simulation with below command in which I'm getting compilation issue:
Command: python3 run.py --test riscv_arithmetic_basic_test --simulator questa
Error Snippet:

2.

Questasim setup:
source /tools/common/cshrc/login.questa10.4c-64
setenv UVM_HOME /tools/mentor/questa10.4c-64/questasim/verilog_src/uvm-1.2
setenv MODEL_TECH /tools/mentor/questa10.4c-64/questasim/bin
setenv QUESTA_HOME /tools/mentor/questa10.4c-64
Could you please help me to resolve this issue?
--Thanks.
Shailesh

Hi Shailesh,
Thanks for reporting this issue.
Fix has been merged. Please pull  and check if your issue has been resolved.


setup mTLS proxy server

We have a mTLS proxy server in DMZ, and client applications with auth certificate can send requests to private network through it. Currently I using iOS 17.0+ api:
ProxyConfiguration.init(
httpCONNECTProxy: NWEndpoint,
tlsOptions: NWProtocolTLS.Options? = nil
)
sec_protocol_challenge_t is called then proxy asks auth certificate and all proccess is working.
How to setup TLSConfiguration for certificate auth with mTLS proxy ?

Do you need a callback to work out which cert to set, or are you setting the cert unconditionally?

Yes, I need to set user auth certificate unconditionally. This cert will be shown to mTLS proxy with every request through proxy.

Place the identity cert and any intermediate certs at TLSConfiguration.certificateChain and the private key at TLSConfiguration.privateKey.

Sorry, I forget to mention - all clients is iOS devices (iPhones, iPads).
If I setup certificateChain - the error appears:
Fatal error: TLSConfiguration.certificateChain is not supported. You can still use this configuration option on macOS if you initialize HTTPClient with a MultiThreadedEventLoopGroup. Please note that using MultiThreadedEventLoopGroup will make AsyncHTTPClient use NIO on BSD Sockets and not Network.framework (which is the preferred platform networking stack).

Ah yes, this is a current limitation of async-http-client. You'll need to follow the instructions in that message, to use MultiThreadedEventLoopGroup instead of the platform specific EL. Right now there isn't an easy way for us to create a SecIdentity which is what you need, so we'd need to offer an entirely new API that allows you to provide it.

Ah yes, this is a current limitation of async-http-client. You'll need to follow the instructions in that message, to use MultiThreadedEventLoopGroup instead of the platform specific EL. Right now there isn't an easy way for us to create a SecIdentity which is what you need, so we'd need to offer an entirely new API that allows you to provide it.

Thanks for giving right direction, I will try to use MultiThreadedEventLoopGroup today and post result here.


Added a new rebus

Associated Issue: #
Summary of Changes

change 1
change 2

Pull Request Test Coverage Report for Build 761

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 87.143%

Totals

Change from base Build 514:
0.0%

Covered Lines:
158

Relevant Lines:
180

💛  - Coveralls


synonym collapsing not consistent

Some  gene products with long lists of synonyms don't have them collapsed...

Would a simple hyperlink "more.." be a bit more pleasing than a big button?

And the MGI annotations appear as a long comma separated list (might be a GAF issue?) @ukemi ?

@hdrabkin can you look into this please?

Nothing has changed as far as I know. Synonyms are suppose to be pipe separated according to GAF2; I see in the GAF however, that they are comma separated. I will put in a work order for Lori to fix. It may take a while.

@ValWood As commented by @ukemi and @hdrabkin , the comma/list thing is almost certainly a data issue, which we can push to the appropriate place when we (they) figure out the source.
For the button, besides an aesthetics argument (I think it's fine anyways), it is: 1) meant to be eye-catching and 2) part of the standard uniform UI that we're trying for with the Bootstrap framework. A hyperlink would imply opening up a new page and/or navigating away, where what we want to indicate is an in-page function.

what page is this?

Paging through, or expanding returned results, is enought to get something similar:
http://amigo.geneontology.org/amigo/search/bioentity?q=clasp*&sfq=document_category:"bioentity"

@hdrabkin Thank you for the update!


new future

在传输中文时会乱码，另外分享时必须转到应用前台点击发送后才能传输，可不可以点击分享直接在后台发送，另外希望可以复制文本后，点击通知栏里的快捷按钮发送剪切板中的内容，以及在分享链接时可以直接在浏览器中打开，最最最重要的是希望可以双向传输。
类似的功能可以在KDE Connect、Pasteasy、MFiles、Fnsync查看

Note: I use Google Translate to read the message in English. If there is anything incorrectly interpreted, please correct me.
Also, if possible, let's continue the conversation in English.

When transmitting Chinese, the characters will be garbled.

Can you please give a sample Chinese text that is not correctly transmitted? Does all Chinese text get changed, or is it only some specific text/characters?
Does this happen when sending Chinese text from phone to laptop, or when getting from laptop to phone, or both directions?

Can you click Share to send directly in the background?

I am also planning to do that. But, I am worried about the restrictions on accessing the clipboard in the background. There are many restrictions in newer Android versions. But anyway, I will try to implement that as it is a useful feature.

I hope that after copying the text, click the shortcut button in the notification bar to send it in the clipboard.

I think you meant by this is, "When we copy some text in the mobile, a notification with a send button appears. When we click the send button in the notification, it will send the text to laptop". Yes, that would be useful. But I think it also has to read the clipboard in the background. If I can get the background sync working, I can try this as well.

The content can be opened directly in the browser when sharing the link.

What I understood from this is, "The mobile app should detect if the text it received from the laptop is a link. If so, it should give the option to directly open the link in the browser". If this is what you meant, I will try to implement that.

The most important thing is that it can be transmitted in both directions.

I didn't clearly understand what this exactly meant (possibly due to translation errors). Can you please explain more? I guess you are not asking about sending text from mobile to laptop and getting text from laptop to mobile as the app already supports sending text in both directions.

The bug where Chinese characters (and other non-ASCII characters) not correctly transferring is now fixed. In fact, the bug was in the Windows version of the server. You can get the latest version from https://github.com/thevindu-w/clip_share_server/releases. If the bug is still there in the new release, please re-open this issue.


[RFC] postake naming conventions

Another point of confusion are the terms "transition" and "external transition". They're synonymous with "block" but we use them some places and block or blockchain others. I don't see any reason we should be making up our own terminology.
Further away from PoS, "user command" vs "transaction" is confusing. Alternate proposal: we have "user transactions", "system transactions" and "transactions" in general.

Another point of confusion are the terms "transition" and "external transition". They're synonymous with "block" but we use them some places and block or blockchain others. I don't see any reason we should be making up our own terminology.
Further away from PoS, "user command" vs "transaction" is confusing. Alternate proposal: we have "user transactions", "system transactions" and "transactions" in general.

I think these are all valid things that we should discuss, but I think we should discuss them in a separate RFC, mostly so that this one can stay contained to the topic of PoS and keep the scope of the decision smaller.

fair
On Thu, Jun 13, 2019 at 4:39 PM Nathan Holland<EMAIL_ADDRESS>wrote:

Another point of confusion are the terms "transition" and "external
transition". They're synonymous with "block" but we use them some places
and block or blockchain others. I don't see any reason we should be making
up our own terminology.
Further away from PoS, "user command" vs "transaction" is confusing.
Alternate proposal: we have "user transactions", "system transactions" and
"transactions" in general.
I think these are all valid things that we should discuss, but I think we
should discuss them in a separate RFC, mostly so that this one can stay
contained to the topic of PoS and keep the scope of the decision smaller.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/CodaProtocol/coda/pull/2560?email_source=notifications&email_token=AAAPATORBNL65FCU4VTIIN3P2LLB7A5CNFSM4HQIISM2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXVKF3Q#issuecomment-501916398,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAPATN3W3CMBYSOD5SW75DP2LLB7ANCNFSM4HQIISMQ
.

I like these - let me know when we do the external / internal transition one too I may have some ideas to add

These names make sense to me and should clear up a lot of my internally generated confusion.


Turn legend off?

I'm trying to remove the legend and have I tried ->setShowLegend(false) but it still shows. I'm not sure what the setter should be.

Do you have more code for me to reproduce it?


feat: add manual prerelease trigger

In this PR I added a manual trigger to generate a pre-release assets

NO THANK YOU


Adding note that typegoose uses mongoose strict

Add a note that Typegoose uses mongoose strict everywhere

Coverage increased (+0.05%) to 87.643% when pulling af3cf333e06ad001823544a47a0738ebc51af4d3 on hasezoey:feature/addstrictnote into aaec1bfdb50ab1effee65b1af1dd0f0241024fc1 on szokodiakos:master.

@Ben305 Bump [Merge with FF/Squash]


Cannot set readOnlyRootFilesystem for ui container

Describe the bug
As a mandatory K8S cluster hardening policy in our organisation it's required to set readOnlyRootFilesystem for each container inside a pod.
The actual issues are with the docker-entrypoint script: https://github.com/opencost/opencost/blob/develop/ui/docker-entrypoint.sh#L21
It tries to write a few files to the root volume (/var/www and /etc/nginx/conf.d).
In case of /var/www it was possible to workaround the issue by attaching a writable emptyDir volume to /var/www, however the same approach was not possible with /etc/nginx/conf.d, because mounting a volume on that path hides files that are already existing on that path (entrypoint script tries to read config template to use for envsubst).
This issue makes the pod unable to start (CrashLoopBackoff).
To Reproduce with the tried workaround
Steps to reproduce the behavior:

Deploy opencost via this helmchart: https://github.com/opencost/opencost-helm-chart , chart-version: 1.32.0
Using the following helm values:opencost:
  exporter:
    startupProbe:
      enabled: false
    livenessProbe:
      enabled: false
    readinessProbe:
      enabled: false
  ui:
    securityContext:
      capabilities:
        drop:
        - ALL
      allowPrivilegeEscalation: false
      readOnlyRootFilesystem: true
      runAsNonRoot: true
      runAsUser: 1000

Check the ui container logs with kubectl
See error:

cp: can't create '/var/www/MaterialIcons-Regular.12b3b105.woff': Read-only file system
cp: can't create '/var/www/MaterialIcons-Regular.333251c4.ttf': Read-only file system
cp: can't create '/var/www/MaterialIcons-Regular.b99eb5ce.woff2': Read-only file system
cp: can't create '/var/www/MaterialIcons-Regular.e9e55c63.eot': Read-only file system
cp: can't create '/var/www/favicon.7eff484d.ico': Read-only file system
cp: can't create '/var/www/index.3406705b.css': Read-only file system
cp: can't create '/var/www/index.3406705b.css.map': Read-only file system
cp: can't create '/var/www/index.4170b679.js': Read-only file system
cp: can't create '/var/www/index.4170b679.js.map': Read-only file system
cp: can't create '/var/www/index.6d70e179.js': Read-only file system
cp: can't create '/var/www/index.6d70e179.js.map': Read-only file system
cp: can't create '/var/www/index.html': Read-only file system
cp: can't create '/var/www/index.runtime.256cff63.js': Read-only file system
cp: can't create '/var/www/index.runtime.256cff63.js.map': Read-only file system
cp: can't create '/var/www/index.runtime.997a1df7.js': Read-only file system
cp: can't create '/var/www/index.runtime.997a1df7.js.map': Read-only file system
cp: can't create '/var/www/logo.b9464e00.png': Read-only file system

To Reproduce with the described workaround (still failing)
Steps to reproduce the behavior:

Deploy opencost via this helmchart: https://github.com/opencost/opencost-helm-chart , version: 1.32.0
Using the following helm values:opencost:
  exporter:
    startupProbe:
      enabled: false
    livenessProbe:
      enabled: false
    readinessProbe:
      enabled: false
  ui:
    securityContext:
      capabilities:
        drop:
        - ALL
      allowPrivilegeEscalation: false
      readOnlyRootFilesystem: true
      runAsNonRoot: true
      runAsUser: 1000
    extraVolumeMounts:
    - mountPath: /var/www
      name: ui-www
    - mountPath: /etc/nginx/conf.d
      name: ui-nginx-config
  extraVolumes:
  - name: ui-www
    emptyDir: {}
  - name: ui-nginx-config
    emptyDir: {}

Check the ui container logs with kubectl
See error:

'/opt/ui/dist/MaterialIcons-Regular.12b3b105.woff' -> '/var/www/MaterialIcons-Regular.12b3b105.woff'
'/opt/ui/dist/MaterialIcons-Regular.333251c4.ttf' -> '/var/www/MaterialIcons-Regular.333251c4.ttf'
'/opt/ui/dist/MaterialIcons-Regular.b99eb5ce.woff2' -> '/var/www/MaterialIcons-Regular.b99eb5ce.woff2'
'/opt/ui/dist/MaterialIcons-Regular.e9e55c63.eot' -> '/var/www/MaterialIcons-Regular.e9e55c63.eot'
'/opt/ui/dist/favicon.7eff484d.ico' -> '/var/www/favicon.7eff484d.ico'
'/opt/ui/dist/index.3406705b.css' -> '/var/www/index.3406705b.css'
'/opt/ui/dist/index.3406705b.css.map' -> '/var/www/index.3406705b.css.map'
'/opt/ui/dist/index.4170b679.js' -> '/var/www/index.4170b679.js'
'/opt/ui/dist/index.4170b679.js.map' -> '/var/www/index.4170b679.js.map'
'/opt/ui/dist/index.6d70e179.js' -> '/var/www/index.6d70e179.js'
'/opt/ui/dist/index.6d70e179.js.map' -> '/var/www/index.6d70e179.js.map'
'/opt/ui/dist/index.html' -> '/var/www/index.html'
'/opt/ui/dist/index.runtime.256cff63.js' -> '/var/www/index.runtime.256cff63.js'
'/opt/ui/dist/index.runtime.256cff63.js.map' -> '/var/www/index.runtime.256cff63.js.map'
'/opt/ui/dist/index.runtime.997a1df7.js' -> '/var/www/index.runtime.997a1df7.js'
'/opt/ui/dist/index.runtime.997a1df7.js.map' -> '/var/www/index.runtime.997a1df7.js.map'
'/opt/ui/dist/logo.b9464e00.png' -> '/var/www/logo.b9464e00.png'
running with BASE_URL=/model
/usr/local/bin/docker-entrypoint.sh: line 21: can't open /etc/nginx/conf.d/default.nginx.conf.template: no such file

Expected behavior
Pod starts up correctly with readonly root filesystem
Screenshots
Not relevant
Which version of OpenCost are you using?
OpenCost: v1.109.0
Helm chart: v1.32.0
Additional context
None

has there been any fix or known workaround?

This worked for me:
# values.yaml
opencost:
  ui:
    securityContext:
      allowPrivilegeEscalation: false
      readOnlyRootFilesystem: false
      runAsNonRoot: true
      runAsUser: 1001

    extraVolumeMounts:
      - name: empty-var-www
        mountPath: /var/www

extraVolumes:
  - name: empty-var-www
    emptyDir: {}

I also encountered this issue today. I'll try the emptyDir workaround, but a proper fix would be nice...

It's not a fix to the underlying problem but in our case this workaround helped getting a modified default.nginx.conf.template into the game:
values.yaml
opencost:
  ui:
    extraVolumeMounts:
    - name: opencost-ui-nginx-config-volume
      mountPath: /etc/nginx/conf.d/default.nginx.conf.template
      subPath: default.nginx.conf.template

extraVolumes:
- name: opencost-ui-nginx-config-volume
  configMap:
    name: opencost-ui-nginx-config

The configMap itself is provided by kustomize which we use around helm.

This seems to work:
      extraVolumeMounts:
        - name: empty-var-www
          mountPath: /var/www
        - name: empty-nginx-confd
          mountPath: /etc/nginx/conf.d/
        - name: opencost-ui-nginx-config-volume
          mountPath: /etc/nginx/conf.d/default.nginx.conf.template
          subPath: default.nginx.conf.template
  extraVolumes:
    - name: empty-var-www
      emptyDir: {}
    - name: empty-nginx-confd
      emptyDir: {}
    - name: opencost-ui-nginx-config-volume
      configMap:
        name: opencost-ui-nginx-config

I created a PR to changed the opencost-ui entrypoint script to only create the default.nginx.conf, if it does not exist. This way people could mount the configuration file from a configMap directly. The emptyDir for /var/www/ would still be needed, however.

Okay, nice. I can't currently recall where I read it or if it was just figured out by looking at it in the pod, but volume mount basically overwrote the securityContext configuration leading to the permission denied error you mentioned above. The subPath hack, somehow, does not have this problem.


fix: duplicate add account action

Try out this version of the Hiro Wallet - download extension builds.

This fixes seeing duplicate add account actions in the choose account popup.
cc/ @kyranjamie @fbwoolf

I see you put up a PR too, sorry. I will close this one.


UI redesign

Added the new textfield with multiple line functionality,
removed the old text button.
Changed the button look

will be fixing it

Closing this pr.
As discussed, it would be better if the UI would be implemented in a new file to avoid merge conflicts.


refact: merge tools into toolchains

implement #1635. we should merge hubble #249 first
TODO:

[ ] root pom
[ ] tools pom
[ ] rename (maybe)
[ ] readme
[ ] github actions (ci/cd)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.10 out of 11 committers have signed the CLA.:white_check_mark: shzcore:white_check_mark: zhoney:white_check_mark: Linary:white_check_mark: xuliguov5:white_check_mark: zyxxoo:white_check_mark: coderzc:white_check_mark: OshotOkill:white_check_mark: jadepeng:white_check_mark: wanganjuan:white_check_mark: imbajin:x: dependabot[bot]You have signed the CLA already but the status is still pending? Let us recheck it.