about x64dbg

How can I use this project to set an ept int3 breakpoint for R3 software and have x64dbg take over exceptions after the int3 breakpoint is triggered

您的邮件已收到，谢谢！

How can I use this project to set an ept int3 breakpoint for R3 software and have x64dbg take over exceptions after the int3 breakpoint is triggered

您的邮件已收到，谢谢！

您的邮件已收到，谢谢！


When a file changes, folder changes and file changes will be detected, which will be executed twice

When a file changes, folder changes and file changes will be detected, which will be executed twice. How can the configuration only take effect once?

I think it's working as it supposed to, you can use the snippet below to bypass that
if event.Op == watcher.Write && event.IsDir() {
    continue
}

@Akumzy Hello, I use it like this: $watcher -cmd = ". / watcher. Sh configure Web" - interval = "2000ms" - ignore = ". / vendor,. / node Ou modules,. / configure Web"，How to use it on the command line?

I am sorry but I don't know


Add tests for X-Forwarded-For

Overview
This PR adds test cases to verify that we log the real IP address of a user when X-Forwarded-For header is present.
Testing recommendations
make eunit apps=chttpd, suites=chttpd_server_tests

Related Issues or Pull Requests

https://github.com/apache/couchdb/pull/4753

Checklist

[ ] Code is written and works correctly
[x] Changes are covered by tests
[ ] Any new configurable parameters are documented in rel/overlay/etc/default.ini
[ ] Documentation changes were made in the src/docs folder
[ ] Documentation changes were backported (separated PR) to affected branches

I like the coverage but I don't think it tests couchdb. It asserts the behaviour of a mochiweb function, but not whether we call it and use the result to populate peer
There are a few problems in general;

we don't document that peer honors x-forwarded-for in the docs afaict, and obviously there's no test for it
third party applications can't safely use the internal httpd record or assume what peer means in the absence of 1)

I think this test needs to be on the elixir integration suite instead and assert that the client ip is logged, but also there should be a public function in couchdb that other apps can call that explicitly says how it calculates peer.
couchdb's current usage is fine, it asks mochiweb for the peer, using a public function, and logs it. Apps making assumptions about that, particularly about unpublished internals, are skating on thin ice. doing so without an integration test just invites disappointment.

I should say, even if it does test couchdb (that is touch real chttpd and real mochiweb, not mocked versions), the problem we're addressing was not what couchdb logged anyway. it was other apps co-opting the peer value to log it in an entirely separate way. A PR for that specifically is in order.

Closing as this is not addressing the real problem.


Some performance tweaks

Using transform: translateY transition instead of top transitions
Added barGapSize prop to control the gap size between bars
Calling to Object.keys only once per render

Yeah since you are probably testing on a page with less animations and js calculation, on a real web application you will see less junk and frames drop


fix: add missing methods to type stub

There are some failing integration tests that seem unrelated to this PR. But these are OK.


Ensure component is accessible through a screenreader

Might be worth looking at rewriting using this https://github.com/reactjs/react-autocomplete

@harrislapiroff or https://github.com/downshift-js/downshift


Add privacy information to Contact Us form

We'll keep their message and contact info private etc.

if you want me to change it from what I did, lemme know

So, I know that the CSC had to change their CoC to comply with campus police i.e they had to change their policy to keeping information private within the extent of the law. (Which is shitty, but it's the law). I have no idea if we have to comply with that or not.
Either way I would specifically say that we won't share their contact information or the contents with anyone other than conference exec.


Add Baichuan chat model

Description: A large language models developed by Baichuan Intelligent Technology，https://www.baichuan-ai.com/home
Issue: None
Dependencies: None
Tag maintainer:
Twitter handle:

thanks @maiqingqiang !


limit and order on foreign tables

Limit rows returned for a foreign table and order by foreign table column.

@anand2312 have updated the changes requested, not sure about test cases. Can you check.
Thanks

@tbrains Sorry for the delay.
Thanks for the PR! This works very well. As for the test cases, I'll add them myself in a separate PR. 😄


Create / edit / delete GPS coordinates

Create / edit by:

entering coordinates
copying from other entry
picking on map view

Partial edition of EXIF GPS block for images, MP4 metadata for videos. Video metadata edition will be handled separately, cf #105.

I'm also considering geotagging individual/multiple items from a GPX file, but only if there's demand for it as it's probably very niche...

Deleting GPS data for sharing purposes is something i am now using a seperate app for. That would be very much appreciated!

Related: #10

@Dezorian in the next version of Aves, removing location is now possible for JPG / PNG / WEBP / DNG, but it's not integrated in the sharing flow (...yet!)


provide info on recent releases

could you add info on recent releases
https://search.maven.org/artifact/com.microsoft.azure/azure-documentdb/2.2.3/jar
ofcourse.. github doesnt has code @ https://github.com/Azure/azure-documentdb-java/
and doesn't even has info on recent versions
reported on it at below link earlier
https://github.com/Azure/azure-documentdb-java/issues/108

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

ID: b2550c40-5054-209e-1378-eeb3b10d6e34
Version Independent ID: d935f42c-4b25-7ca2-b7a4-acde45a16b80
Content: Azure Cosmos DB: SQL Java API, SDK & resources
Content Source: articles/cosmos-db/sql-api-sdk-java.md
Service: cosmos-db
Sub-service: cosmosdb-sql
GitHub Login: @SnehaGunda
Microsoft Alias: sngun

@prashanthmadi Thank you for the feedback.
This is being assigned to the content author to evaluate and update as appropriate.

@prashanthmadi the above PR from Naveen adds the latest release notes information.
We will close this issue if there aren't further questions.
#please-close


Line support rigidity group local x refers to local z in GUI

https://strusoft.freshdesk.com/a/tickets/23227 @ Thu, 24 Nov 2022 at 4:41 PM
https://strusoft.fogbugz.com/f/cases/94580/support_rigidity_data_type-group-local_x

fixed


[DRAFT]fix #924 kamelets heve wrong type for properteries.

added validation of propery types to match json schema allowed values.

Converted to draft

depends on https://github.com/apache/camel-kamelets/pull/928

Needs to double check the google authentication.

Could this be rebased or start from scratch again?


CLI apps don't start in Windows Terminal when started minimized

Description of the new feature/enhancement
I have Windows Terminal set as my Default terminal application and New instance behavior set to "Attach to the most recently used window". We have a tool that starts many console processes at the same time. It does so using System.Diagnostics.Process.Start(). We'd like for these processes to be started in the background as to not steal the focus from the foreground window. I noticed that if I start the processes with ProcessStartInfo.WindowsStyle == ProcessWindowStyle.Minimized, the console windows will start minimized, but they won't attach as a tab to Windows Terminal. They will just start as windows of their own. Can we have Windows Terminal handle this situation too?

You know, this was always by design. There's a bunch of heuristics built in to the Default Terminal handoff to try and ID a console app that "didn't wand a console window" - minimized is one of those things.
Maybe now, in the post-1.18 world where we have tear-out, we can allow for minimized defterm windows. We could just always pop the minimized defterm connection into a new window that's minimized. If someone wants to re-attach it, they always could restore it then re-attach it later.
xlinking a note from #13838

This doesn't do the same for defterm-initiated connections. This is because we don't need to! Defterm very explicitly rejects handoff for minimized console apps. This is probably for the best! I put an attempt in 66f8b25ec before I forgot that it was filtered long before the Terminal. NOT doing this for /min saves us all sorts of "what happens if start /min cmd tries to glom?" or "what if someone does start /min cmd && start /max cmd and they glom together?".


[socket.io] Connection count is incorrect in metrics

Create a socket.io resource and run some samples.
View connection count in metrics

The number is not correct (much higher than actual connection count).

Runtime bug, should be fixed.


Feature/wpts mpc

Finished first pass of cleaning control node. control folder, as well as atk.yml and dev dockerfile are updated. Next steps will be cleaning the path_planning to have options for perception based or path based, and state_estimation to offer various localization algorithms. @AaronYoung5 this may be a very large pull request due to this branch not having been merged back in for a long time.

The only conflicts seem to be in atk.yml and the chrono.dockerfile. @harryzhang1018 accidentally pushed his key for building chrono internal so the chrono.dockerfile can be ignored (should revert to building main branch of chrono). From what I can tell conflicts in atk.yml are related to new pip requirements for USB cam and Keras-core, and removal of pip-pychrono.

No rush. Also loop in @harryzhang1018 since it's his code, too. Can you guys add a readme describing what each csv file shows? And can we use a global data folder?
I'm gonna go through the code the next few days and make comments.

Are the nodes in a working state? Let's not merge until we have something that we no functions and is clean.

Are the nodes in a working state? Let's not merge until we have something that we no functions and is clean.

Everything works, but we should wait to merge until I'm done cleaning SE and PP nodes. Should I make this a draft?

No rush. Also loop in @harryzhang1018 since it's his code, too. Can you guys add a readme describing what each csv file shows? And can we use a global data folder?
I'm gonna go through the code the next few days and make comments.

I'll create a folder where all data gets output, with a readme. For some of them, this doesn't really make sense. For example, Path Planning, it can take a csv file for defining a reference trajectory. This file should probably stay in the Path Planning node, correct? I will give it a better name.


Investigating raw scRNAseq data

@aarmey It looks like the consistency of cell types and abundance seems to be very different depending on the experimental condition. My plan is to look over the cell type assignment again and see if there is anything I change on my end, since the single cell assignments don't look correct at the moment.

@andrewram4287 I hadn't looked at the code you used here.
You are plotting the histogram of the abundance of specific genes across cell types and conditions. Are you sure you have enough of each cell type to reliably make a histogram?

@andrewram4287 I hadn't looked at the code you used here.
You are plotting the histogram of the abundance of specific genes across cell types and conditions. Are you sure you have enough of each cell type to reliably make a histogram?

My initial thought was that there should be a consistent value across cell types. Would it make more sense to just plot the average then?

Do you have enough cells like that? e.g., NK cells might be ~5% of your PBMC population, so if you only have 100 cells in a condition that's only 5 cells on average.
I don't know the answer here, I'm wondering.

@aarmey This looks much more consistent.

This looks better. I'd normalize by the total cell number with each drug because I know that varies. Alprostadil seems to be doing something weird...


v0.13.0+ - Cannot read properties of undefined (reading 'parent')

version 0.13.0+ i have this problem
The following error originated from your test code, not from Cypress.

  > Cannot read properties of undefined (reading 'parent')

When Cypress detects uncaught errors originating from your test code it will automatically fail the current test.

Cypress could not associate this error to any specific test.

We dynamically generated a new test to display this failure.

now i use v0.12.1 and all its OK, i try 0.12.x and its fine too.

@Plechoo hello
Could you please attach stack trace

@mmisty hi ofc
 We dynamically generated a new test to display this failure.       at describeWithTags (webpack://cypress-tests-for-myport/./node_modules/@mmisty/cypress-tags/setup/index.js:94:0)       at eval (webpack://cypress-tests-for-myport/./cypress/e2e/Client/backoffice/smoke/existingClient/client_FO_existingClientInApp.cy.ts:4:0)       at eval (https://backoffice-stage.finportal.sk/__cypress/tests?p=cypress/e2e/Client/backoffice/smoke/existingClient/client_FO_existingClientInApp.cy.ts:317:3)       at eval (https://backoffice-stage.finportal.sk/__cypress/tests?p=cypress/e2e/Client/backoffice/smoke/existingClient/client_FO_existingClientInApp.cy.ts:319:12)       at eval (<anonymous>)

@Plechoo Thank you!
could you please also attach when you have time
1 test file if that's possible with which it reproduces
2 support/e2e file
3 cypress configuration
4 plugins configuration
thank you

closing since no updates. please try latest version 0.16.5


Outbound events / Sink?

Do you support Sink's https://knative.dev/docs/eventing/sink/.
My use-case is:

a Knative service which gets triggered by subscribing to SQSevents (which works very well - thanks to this project)
as a result of having been triggered I want to publish an event to SNS, and would like to do this using the same concept of cloudevents and "binding" to an AWS service, in this case SNS. i.e. sending an outbound event.

We do but right now their source code is closed. Those sinks (we call them "target") are available at http://cloud.triggermesh.io only for the time being.
cc. @sebgoa @odacremolbap and @cab105  FYI

We do but right now their source code is closed. Those sinks (we call them "target") are available at http://cloud.triggermesh.io only for the time being.
cc. @sebgoa @odacremolbap and @cab105  FYI

bummer, is there any plan to open this, or is this a closed-source / strictly commercial offering atm?

bummer, is there any plan to open this, or is this a closed-source / strictly commercial offering atm?

As to whether it'll be opened up, I'll leave it to others, but you can create a free account on https://cloud.triggermesh.io/ where you can configure your workflow (including your knative service).

As to whether it'll be opened up, I'll leave it to others, but you can create a free account on https://cloud.triggermesh.io/ where you can configure your workflow (including your knative service).

@davidkarlsen if you want to email me at<EMAIL_ADDRESS>we can give you access to the SNS sink

@davidkarlsen if you want to email me at<EMAIL_ADDRESS>we can give you access to the SNS sink

@davidkarlsen I'm going to go ahead an close this because I believe the question was answered, feel free to re-open if some input is still needed.
tl;dr; event "targets" are in a separate repo which is currently closed to the public, but Seb is happy to discuss use cases and provide access.


File Tree Component icons

The file tree component is awesome. But it lacks a simple feature: icons. How to integrate it with Material folder & file icons, for example? How to target the icons created in the FileTree? It just creates a plain svg tag for the icons. If I could target the icons for customization, I would be able to add icons myself. How to do this?

I'd love to be able to customize the link on FileTree.File, e.g.:
  <FileTree.File name="address-confirmation-email.html" href="https://github.com/colyseus/colyseus/blob/master/packages/auth/html/address-confirmation-email.html" />

@endel <FileTree.File> has only name and active props, wrap your file manually with link if you want


Add property 'locale' to Environment.

Adding property 'locale' to the Environment schema to state the language of the environment at the time of the event. The locale code should follow RFC BCP 47
Change requested by Mobile SDK as 'locale' is an environment metric sent to Analytics in application lifecycle events.

@lrosenthol Thanks for your feedback. I've updated this PR to use dc:language instead of creating a new XDM property.


[SPARK-16654][CORE] Add UI coverage for Application Level Blacklisting

Builds on top of work in SPARK-8425 to update Application Level Blacklisting in the scheduler.
What changes were proposed in this pull request?
Adds a UI to these patches by:

defining new listener events for blacklisting and unblacklisting, nodes and executors;
sending said events at the relevant points in BlacklistTracker;
adding JSON (de)serialization code for these events;
augmenting the Executors UI page to show which, and how many, executors are blacklisted;
adding a unit test to make sure events are being fired;
adding HistoryServerSuite coverage to verify that the SHS reads these events correctly.
updates the Executor UI to show Blacklisted/Active/Dead as a tri-state in Executors Status

Updates .rat-excludes to pass tests.
@username squito
How was this patch tested?
./dev/run-tests
testOnly org.apache.spark.util.JsonProtocolSuite
testOnly org.apache.spark.scheduler.BlacklistTrackerSuite
testOnly org.apache.spark.deploy.history.HistoryServerSuite
https://github.com/jsoltren/jose-utils/blob/master/blacklist/test-blacklist.sh

Can one of the admins verify this patch?

ok to test

Test build #70393 has started for PR 16346 at commit 20ff7dd.

Test build #70393 has finished for PR 16346 at commit 20ff7dd.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class SparkListenerExecutorBlacklisted(
case class SparkListenerExecutorUnblacklisted(time: Long, executorId: String)
case class SparkListenerNodeBlacklisted(
case class SparkListenerNodeUnblacklisted(time: Long, nodeId: String)

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/70393/
Test PASSed.

Merged build finished. Test PASSed.

Test build #71226 has started for PR 16346 at commit d3d3583.

Test build #71226 has finished for PR 16346 at commit d3d3583.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class SparkListenerNodeUnblacklisted(time: Long, hostId: String)

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71226/
Test FAILed.

cc @ajbozarth as you were interested in this earlier

I haven't been able to take a detailed look at the code, but all of my UI concerns seemed to have been addressed in the previous pr. I am wondering what you mean by having the summary table list the blacklisted executors though @squito

@ajbozarth whoops, I hadn't noticed the extra "Blacklisted" column in the summary table at the top -- I was thinking we'd add another row for blacklisted executors.  But I actually think the current version is better.  So ignore that comment :) (mentioned the same to @jsoltren directly)

Test build #71541 has started for PR 16346 at commit 6e2c59f.

Test build #71541 has finished for PR 16346 at commit 6e2c59f.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71541/
Test FAILed.

Merged build finished. Test FAILed.

the test failures look real and from the changes you've made, can you take a look?

The test failures are due to s/nodeId/hostId/ in the JSON code but not the tests. This is passing locally now with the changes I'm about to push to this PR. Thanks.

Test build #71609 has started for PR 16346 at commit 701ebb7.

Test build #71609 has finished for PR 16346 at commit 701ebb7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/71609/
Test PASSed.

merged to master, thanks @jsoltren!


Globally specify serialization adapter

I want to use :json adapter globally. How can I do that?

You can set this in an initializer:
ActiveModelSerializers.config.adapter = :json
grape-active_model_serializers uses whatever adapter is configured for ASM
https://github.com/rails-api/active_model_serializers#high-level-behavior
Here is a list of other adapters you can use: https://github.com/rails-api/active_model_serializers/tree/master/lib/active_model_serializers/adapter


Incompatible shape on Stacked LSTM

I got the following warning when optimizing LSTM model with Talos.
Talos version '1.0.0'
WARNING:tensorflow:Model was constructed with shape (None, 9, 1) for input Tensor("lstm_input:0", shape=(None, 9, 1), dtype=float32), but it was called on an input with incompatible shape (None, 6, 1).
My model is a stacked LSTM model. The code is as such:
def LSTMTrainOptimization(X_train, y_train, X_val, y_val, params):
    #Build the model
    model = Sequential()
    model.add(LSTM(
        params['NUM_NEURONS_FIRST_LAYER'],
        input_shape=(params['LOOK_BACK'], X_train.shape[2]),
        return_sequences= True))
    model.add(Dropout(params['DROP_OUT']))
    model.add(LSTM(params['NUM_NEURONS_SECOND_LAYER'],input_shape=(params['NUM_NEURONS_FIRST_LAYER'],X_train.shape[2])))
    model.add(Dense(
        params['FORWARD_DAYS'],
        activation= params['DENSE_ACTIVATION']
    ))
    model.compile(
        loss=params['LOSS'],
        optimizer= params['OPTIMIZER'],
        metrics= [tf.keras.metrics.RootMeanSquaredError()])

    history = model.fit(
        X_train,y_train,
        epochs= params['EPOCHS'],batch_size= params['BATCH_SIZE'], verbose=2,
        validation_data= (X_val, y_val))

    return history, model

I am calling standard talos scan call:
h = ta.Scan(
    X_train,
    X_res_train,
    params= PARAMS_OPTIMIZATION,
    model= LSTMTrainOptimization,
    experiment_name='EXP_NO1',
    x_val=X_val,
    y_val=X_res_val
)

the param variable is:
PARAMS_OPTIMIZATION = {
    'NUM_NEURONS_FIRST_LAYER': [10, 8, 6], 'NUM_NEURONS_SECOND_LAYER': [2, 4, 6],
    'BATCH_SIZE': [2, 4, 6], 'EPOCHS': [10, 200, 250], 'LOOK_BACK': [6, 9, 12],
    'DROP_OUT': [0, 0.2], 'FORWARD_DAYS': [1, 3, 6], 'LOSS': ['logcosh', keras.losses.binary_crossentropy],
    'OPTIMIZER': ['Adam', "RMSprop"],
    'DENSE_ACTIVATION': ['relu', 'elu']
}

Does that affect the result of the optimization?

Can you share the error message you get.

Your inputs to Talos are wrong. Have a look at docs. For example, see how you would want to handle multi-input models from docs.


Rename .exe file

Letsencrypt.exe may also need to rename? In win-acme.v<IP_ADDRESS>.zip until that old name of file.

 That's why I've pushed this into the future, perhaps even to a v2.0.
The alternative is to distribute two executables for some time. We'd then have the one called letsencrypt.exe change the scheduled task that calls it :).

Maybe I don't understand something, but if the task already exists in the scheduler, it contains the path to the executable file of the previous version. And running a new version and getting certificates with it does not change anything, unless you force a task to be re-created. Therefore, I think it is quite possible to create new tasks with a new name executable file.
Can you run the new version to ask the user to Update the task? (y/n): And update already with a new name exe.

And the application folder name also remained the same. Offer the clean install and rename it :)

For the past half year I've made sure that you can copy a new version of the program to your server with confidence that your existing workflows (tasks, scripts and previously scheduled renewals) keep working as-is.
 Not such a problem for a single server perhaps, but if you operate dozens of servers with hundreds or thousands of sites and have custom automation built around it, that gets annoying really fast.
This is the promise of semantic versioning. There have been a few notable exceptions, but all for good reasons.
I agree with your sentiment that it'd be nice to offer a clean install with the new name, but dealing with legacy is an important part of the software development game. In my opinion the most successful products adhere to this philosophy.
There might be a 2.0 version someday that break things in a major way, but it'd have to offer some compelling reasons why it's worth the hassle. Esthetics is usually not one of them.
So I'll keep thinking about 'clean' ways to handle the rename.


Support loading HTTP headers from env variable for flutter run

This PR allows user to provide the FLUTTER_WEB_HEADERS environment variable, with the form of Cross-Origin-Opener-Policy=same-origin,Cross-Origin-Embedder-Policy=require-corp, etc.
Settings the web server headers is crucial in some scenarios. For example, the user might have to set CORS to use SharedArrayBuffer JavaScript API for parallelism. This would be very useful for Rinf users as well as many other web app devs.
Usage example:
$env:FLUTTER_WEB_HEADERS="Cross-Origin-Opener-Policy=same-origin,Cross-Origin-Embedder-Policy=require-corp"

flutter run
# test the app on the web and exit
flutter run
# test the app on the web and exit
flutter run
# ...

Fixes #150319
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] I followed the breaking change policy and added Data Driven Fixes where supported.
[ ] All existing and new tests are passing.

I'd be happy to fix these tests if this idea is okay to be approved.

Hello, thank you for the well put-together PR!
I think the flutter tool would benefit more from a general purpose mechanism that makes managing CLI arguments easier. In particular, I think user-defined scripts (proposed in https://github.com/flutter/flutter/issues/90612) might be one way to accomplish this. I prefer this over parsing of environment variables for several reasons:

Each feature adds complexity to the flutter tool, which makes adding/maintaining other features more difficult in the future. As a result, features that are more general-purpose are more valuable.
Environment variables, while a convenient mechanism for per-system configuration, are more difficult to reason about for 1) Flutter users and 2) maintainers triaging issue reports.
Functionality specific to a particular CLI option is less discoverable than a more general purpose feature that can be leveraged to achieve a similar goal.
Compared to environment variables, user-defined scripts would be easier for teams of developers to share and understand (for example, these commands are visible in a file and are version-controlled).

With this being said, I will be closing this PR. Thank you, sincerely, for your contribution. Feel free to share any other thoughts on this PR or the associated issue.


🐛 [PLUGIN_NAME_HERE] Your issue title here

Bug report
Describe the bug
A clear and concise description of what the bug is.
Steps to reproduce
Steps to reproduce the behavior:

Go to '...'
'...'
See error or incorrect behavior

Expected behavior
A clear and concise description of what you expected to happen.

Additional context
Add any other context about the problem here.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
PASTE OUTPUT INSIDE HERE

Hi @Duc56789
When opening an issue, please try to provide all of the information indicated in the template.
Closing this issue, since no information has been provided.
Thank you.


The folded code will be copied after the other folded code

Prerequisites

[x] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description

[Multiple lines of copy appear in code folding]
Steps to Reproduce

[First Step]

Expand the code block

[Second Step]

Hide code block

[and so on...]

The folded code will be copied after the other folded code

Expected behavior: [What you expect to happen]

Normal folding
Actual behavior: [What actually happens]
It doesn't fold properly
Reproduces how often: [What percentage of the time does it reproduce?]

Versions
apm  2.1.2
npm  6.2.0
node 8.9.3 x64
atom 1.33.0
python 3.7.1
git 2.19.2.windows.1
visual studio

Additional Information
Community Packages (55)
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

I'm a big fan of atom, which is now my main editor

@lee-dohm My friend, I am very sorry for the unpleasant before, please forgive me.
I have learned to submit questions with your template now.
Please remove the restrictions on my main account.
Now my main account cannot feed back atom problems

My github master account：

username
email

linjialiang
<EMAIL_ADDRESS>

@linjialiang you have access again so long as you continue to follow the Atom Code of Conduct.

Thanks for the report @1030504258!  It looks like your GIF isn't in safe mode, can you reproduce in safe mode?
Also, the behavior looks like a duplicate of https://github.com/atom/atom/issues/16078 but if you have steps to reproduce in safe mode, that would be super helpful.

@lee-dohm Ok, my friend, I will submit the question according to the standard template

@rsese This situation does not happen every time. I have not found the rule yet. I will give you feedback when I do find it


Store Token Name on the backend

Summary:
As a DAO creator I want to be able to store the token name for the create DAO actions.
Frontend Story: https://github.com/hypha-dao/dho-web-client/issues/1606

@arsenijesavic @n13

@leonieherma1 @Gerard097 @n13 I spoke with Gery,
we currently store only Token symbols (reward_token, voice_token, peg_token),
what this feature adds is ability to have:

[ ] Token name (20 characters, required) -> ex Bitcoin
[ ] Token symbol (7 character, uppercase, required) -> ex BTC


Adding localization to scripts

Automatic Localization Approach
I am contemplating adding the ability to automatically localize scripts in a user's preferred language using the OpenAI API library. To that end, I will introduce in RGP Lua (for 0.71)

FCControl:SetAutoResizeWidth (which requests auto-sizing of supported controls before the window is running)
FCControl:AssureWidthForText (which you can use while the window is running)

Then I am imagining a new lua library localization. Each script would include global table of all of its strings like this:
localization_base =
{
    ["Hello"] = "Hello",
    ["Goodbye"] = "Goodbye",
}

The library would export a function `'localize(string)' that did the following:

Extract the user's preferred 2-character language code from finenv.UI():GetUserLocaleName.
Check to see if a global tables exists for ``localization_" .. language_code`. If so, it looks up the input string in that table.
If found, return the string.
Otherwise, look for localization_base.
If found, and if an OpenAI key exists, auto-generate a language table for the user's language. The beauty of this approach is that it only requires a single call to OpenAI to translate all the strings in the script at once.
If nothing else works, it returns the input string unchanged.

The script-writer then wraps all hard-coded strings inside calls to localize. It should be fairly simple to write a regex that does this. (Or get ChatGPT to write one for you, which is what I would do.)
Possible Optimizations
Some ways to speed up the script would be

Set finenv.RetainLuaState = true so that it would not have to call OpenAI each time you invoked the script.
Optionally embed additional languages, e.g.:

localization_es =
{
    ["Hello"] = "Hola",
    ["Goodbye"] = "Adios",
}

localization_jp =
{
    ["Hello"] = "今日は",
    ["Goodbye"] = "さようなら",
}

Utility Functions
In additional to localize, the library would have a of utility function for developers:
generate_localization(language_code)
This function would search the current running script for all strings and create the language_ table and copy it to the clipboard. The developer could then paste this into the script and provide direct support for a language that way. This function could also be used to generate the _base table. In that case, it would not call OpenAI.
Issues and Concerns

LLM hallucinations. LLMs have gotten quite reliably good at language translation, but there will inevitably be mistakes. We probably need a way for a user to disable auto-translation if it a particular language is not well-supported in the LLM.
Right-to-left languages. I don't know that anyone has ever tested the PDK Framework dialog box system with right-to-left languages. It probably doesn't work. We need a way to detect that a language is right-to-left and not auto-generate translations for it. Or maybe (at minimum) a way for the user to disable the feature (as above) if it is not generating useful results.
Strings overrunning the layout. While auto-sizing the width of individual controls is fairly straightforward, auto-sizing the control layout is beyond the scope of any change I am prepared to make in the PDK Framework. (The current code is fairly opaque.) Dialog boxes will have to be sized and laid out sufficient to the longest versions of the strings. (My suggestion is use Spanish to determine needed layout size. I'm sure there are languages with longer strings, but those are quite long, mainly due to the lack of a direct possessive form.)

I welcome ideas and concerns.

Well, I certainly love the idea of automatically resizing controls… I’ve spent a lot of time fixing with things like static widths to get them to for, especially on Windows (Mac it doesn’t matter if they are too long and stack, but on windows it seems to). I also love the idea of localization.One other issue I see that you didn’t mention is that this might work well for single word controls, but anything like a sentence that contains actual grammar… wouldn’t ChatGPT handle that well?Also, would the user have to have a ChatGPT profile?Sent from my iPhoneOn Jan 16, 2024, at 7:53 AM, rpatters1 @.***> wrote:
Automatic Localization Approach
I am contemplating adding the ability to automatically localize scripts in a user's preferred language using the OpenAI API library. To that end, I will introduce in RGP Lua (for 0.71)
FCControl:SetAutoResizeWidth (which requests auto-sizing of supported controls before the window is running)
FCControl:AssureWidthForText (which you can use while the window is running)
Then I am imagining a new lua library localization. Each script would include global table of all of its strings like this:
localization_base =
{
["Hello"] = ["Hello"],
["Goodbye"] = ["Goodbye"],
}
The library would export a function `'localize(string)' that did the following:
Extract the user's preferred 2-character language code from finenv.UI():GetUserLocaleName.
Check to see if a global tables exists for ``localization_" .. language_code`. If so, it looks up the input string in that table.
If found, return the string.
Otherwise, look for localization_base.
If found, and if an OpenAI key exists, auto-generate a language table for the user's language. The beauty of this approach is that it only requires a single call to OpenAI to translate all the strings in the script at once.
If nothing else works, it returns the input string unchanged.
The script-writer then wraps all hard-coded strings inside calls to localize. It should be fairly simple to write a regex that does this. (Or get ChatGPT to write one for you, which is what I would do.)
Possible Optimizations
Some ways to speed up the script would be
Set finenv.RetainLuaState = true so that it would not have to call OpenAI each time you invoked the script.
Optionally embed additional languages, e.g.:
localization_es =
{
["Hello"] = ["Hola"],
["Goodbye"] = ["Adios"],
}
localization_jp =
{
["Hello"] = ["今日は"],
["Goodbye"] = ["さようなら"],
}
Utility Functions
In additional to localize, the library would have a of utility function for developers:
generate_localization(language_code)
This function would search the current running script for all strings and create the language_ table and copy it to the clipboard. The developer could then paste this into the script and provide direct support for a language that way. This function could also be used to generate the _base table. In that case, it would not call OpenAI.
Issues and Concerns
LLM hallucinations. LLMs have gotten quite reliably good at language translation, but there will inevitably be mistakes. We probably need a way for a user to disable auto-translation if it a particular language is not well-supported in the LLM.
Right-to-left languages. I don't know that anyone has ever tested the PDK Framework dialog box system with right-to-left languages. It probably doesn't work. We need a way to detect that a language is right-to-left and not auto-generate translations for it. Or maybe (at minimum) a way for the user to disable the feature (as above) if it is not generating useful results.
Strings overrunning the layout. While auto-sizing the width of individual controls is fairly straightforward, auto-sizing the control layout is beyond the scope of any change I am prepared to make in the PDK Framework. (The current code is fairly opaque.) Dialog boxes will have to be sized and laid out sufficient to the longest versions of the strings. (My suggestion is use Spanish to determine needed layout size. I'm sure there are languages with longer strings, but those are quite long, mainly due to the lack of a direct possessive form.)
I welcome ideas and concerns.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>

LLMs actually do really well with longer text. Shorter text might be more challenging without proper context. I plan to hone the prompt to give it context.
There are 2 potential OpenAI accounts that might exists: the user's and the developer's. Neither is required. Here is the decision tree:

Neither has an OpenAI account: the base values are used (i.e., no localization)
The Developer has an account but the user does not: the user gets a localization if the developer has included it in the script. Otherwise the user gets base values.
The User has an account but the developer does not: the user gets an on-the-fly automatic localization.
Both have an account: the user gets an included localization if there is one, otherwise the user gets an on-the-fly automatic localization.

Being able to position controls relative to other controls would help this. Eg this text box is always 12 units below that static text. I was toying with the idea of adding this to the control mixins a while ago.

I have added a non-overlap function and a horizontal align function. I may add one or two more. It would be a challenge in mixin because to get the proper text width you need the window to be running, but you need to set up control position and size before the opaque auto-layout routines runs. There is (currenty) no way for Lua to hook into the process at the right moment. It could be added, of course, but I think what I'm working on will accommodate most needs on the horizontal axis. I am not tackling the vertical axis.

This was closed with #649.


About running PYG on 30 series GPU

❓ Questions & Help

The GA102 chips is not supported by cuda verision lower than 11.0, but the latest PYG only support pytorch 1.6.0 and cuda 10.2. Is there any way to run PYG on RTX3090 GPU? Thank you.

I'm currently in the process of providing wheels for CUDA 11.0 (should be ready by tomorrow). In the meantime, you can install the external packages from source via:
pip install torch-scatter ...

okay, thank you. Good luck


Fix broken link in README

The link in README.md to the "contributing" docs has been broken for a few months - point it to the new location.

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

LGTM after CLA


Show clear doc for windows user

For the moment, it is not clear how the Windows user can use the AiiDAlab.

Thanks @superstar54.
With @edan-bainglass, we add a section in qeapp doc for docker desktop and it was quite specific to windows. Could you manage to rephrase it a bit and move it to aiidalab doc?


Completed ITA translation

Hello everyone,
I finished translating the user interface elements in Italian.

@SebastianoPistore Thank you!


Getting Hot Reloading up and running

I have been trying for some time now to get hot reloading working for my electron application. I decided to try and use this project as a reference for implementing live reloading.
To start, here are a few relevant files:
package.json:
{
...
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "cross-env ENVIRONMENT=DEV electron main.js",
    "watch": "webpack-dev-server --hot --inline",
    "build": "webpack",
    "dev": "npm run hot-server -- --start-hot",
    "hot-server": "cross-env NODE_ENV=development node --max_old_space_size=2096 -r babel-register server.js",
    "start-hot": "cross-env HOT=1 NODE_ENV=development electron -r babel-register -r babel-polyfill main.js"
  },
  "dependencies": {
    "babel": "^6.5.2",
    "babel-loader": "^6.2.5",
    "babel-plugin-transform-class-properties": "^6.19.0",
    "babel-preset-es2015": "^6.6.0",
    "babel-preset-react": "^6.5.0",
    "babelify": "^7.2.0",
    "cross-env": "^3.1.1",
    "electron": "^1.3.4",
    "electron-prebuilt": "^1.4.2",
    "json-loader": "^0.5.4",
    "lodash": "^4.17.2",
    "react": "^15.3.2",
    "react-addons-css-transition-group": "^15.4.2",
    "react-dom": "^15.3.2",
    "react-emojione": "^2.0.0",
    "react-router": "^2.8.1",
    "react-tap-event-plugin": "^1.0.0",
    "store": "^1.3.20",
    "webpack": "^1.13.3"
  },
  "devDependencies": {
    "babel-preset-react-hmre": "^1.1.1",
    "babel-register": "^6.18.0",
    "css-loader": "^0.25.0",
    "eslint-formatter-pretty": "^1.1.0",
    "express": "^4.14.0",
    "minimist": "^1.2.0",
    "style-loader": "^0.13.1",
    "webpack-dev-middleware": "^1.9.0",
    "webpack-dev-server": "^1.16.2",
    "webpack-hot-middleware": "^2.15.0",
    "webpack-merge": "^2.4.0",
    "webpack-validator": "^2.3.0"
  }
}

server.js
/* eslint-disable no-console */
/**
 * Setup and run the development server for Hot-Module-Replacement
 * https://webpack.github.io/docs/hot-module-replacement-with-webpack.html
 * @flow
 */

import express from 'express';
import webpack from 'webpack';
import webpackDevMiddleware from 'webpack-dev-middleware';
import webpackHotMiddleware from 'webpack-hot-middleware';
import { spawn } from 'child_process';
import config from './webpack.config.development.js';

const argv = require('minimist')(process.argv.slice(2));

const app = express();
const compiler = webpack(config);
const PORT = process.env.PORT || 8080;

const wdm = webpackDevMiddleware(compiler, {
  publicPath: config.output.publicPath,
  stats: {
    colors: true
  }
});

app.use(wdm);
app.use(webpackHotMiddleware(compiler));

const server = app.listen(PORT, 'localhost', serverError => {
  if (serverError) {
    return console.error(serverError);
  }

  if (argv['start-hot']) {
    spawn('npm', ['run', 'start-hot'], { shell: true, env: process.env, stdio: 'inherit' })
      .on('close', code => process.exit(code))
      .on('error', spawnError => console.error(spawnError));
  }
  console.log(`Listening at http://localhost:${PORT}`);
});

process.on('SIGTERM', () => {
  console.log('Stopping dev server');
  wdm.close();
  server.close(() => {
    process.exit(0);
  });
});

webpack.config.base.js:
/**
 * Base webpack config used across other specific configs
 */

import path from 'path';
import validate from 'webpack-validator';

export default validate({
  module: {
    loaders: [{
      test: /\.jsx?$/,
      loaders: ['babel-loader'],
      exclude: /node_modules/
    }, {
      test: /\.json$/,
      loader: 'json-loader'
    }]
  },

  output: {
    path: path.join(__dirname, 'build'),
    filename: 'app.js',

    // https://github.com/webpack/webpack/issues/1114
    libraryTarget: 'commonjs2'
  },

  // https://webpack.github.io/docs/configuration.html#resolve
  resolve: {
    extensions: ['', '.js', '.jsx', '.json'],
    packageMains: ['webpack', 'browser', 'web', 'browserify', ['jam', 'main'], 'main']
  },

  plugins: []
});

webpack.config.development.js
/**
 * Build config for development process that uses Hot-Module-Replacement
 * https://webpack.github.io/docs/hot-module-replacement-with-webpack.html
 */

import webpack from 'webpack';
import validate from 'webpack-validator';
import merge from 'webpack-merge';
import formatter from 'eslint-formatter-pretty';
import baseConfig from './webpack.config.base';

const port = process.env.PORT || 8080;

export default validate(merge(baseConfig, {
  debug: true,

  devtool: 'inline-source-map',

  entry: [
    `webpack-hot-middleware/client?path=http://localhost:${port}/__webpack_hmr`,
    'babel-polyfill',
    './app/index.jsx'
  ],

  output: {
    publicPath: `http://localhost:${port}/build/`
  },

  module: {
    loaders: [

      {
        test: /\.css$/,
        loader: "style-loader!css-loader"
      },
    ]
  },

  eslint: {
    formatter
  },

  plugins: [
    // https://webpack.github.io/docs/hot-module-replacement-with-webpack.html
    new webpack.HotModuleReplacementPlugin(),

    // “If you are using the CLI, the webpack process will not exit with an error code by enabling this plugin.”
    // https://github.com/webpack/docs/wiki/list-of-plugins#noerrorsplugin
    new webpack.NoErrorsPlugin(),

    // NODE_ENV should be production so that modules do not perform certain development checks
    new webpack.DefinePlugin({
      'process.env.NODE_ENV': JSON.stringify('development')
    })
  ],

  // https://github.com/chentsulin/webpack-target-electron-renderer#how-this-module-works
  target: 'electron-renderer'
}));

and finally, index.html:
<!DOCTYPE html>
<html>
<head>
    <title>App</title>
    <link href="node_modules/normalize.css/normalize.css" rel="stylesheet" />
    <script>
        (function() {
            if (!process.env.HOT) {
                const link = document.createElement('link');
                link.rel = 'stylesheet';
                link.href = './build/style.css';
                document.write(link.outerHTML);
            }
        }());
    </script>
</head>

<body>
    <div id="app">
    </div>
    <script>
        const script = document.createElement('script');
        const port = process.env.PORT || 8080;
        script.src = (process.env.HOT) ? 'http://localhost:' + port + '/build/app.js' : './build/app.js';
        document.write(script.outerHTML);
    </script>
</body>

</html>

Upon running npm run dev, the server seems to start and the electron app opens. However, changes to file still do not trigger a hot reload. I find this odd considering that the above code is essentially the same as that used in electron-react-boilerplate. What might be preventing hot reloading, and how can I fix it?

I would recommend integrating your existing app into electron-react-boilerplate.

@amilajack Hot module loading should not require such a large refactor


Added use_auth_token to TextEmbedding class

What kind of change does this PR introduce?
Feature to load private models from Huggingface. Added Arg: use_auth_token in the adapters class TextEmbedding from text.py, which is then passed to SentenceTransformer class.
What is the current behavior?
Only public models are allowed
What is the new behavior?
Allows to load private models from HuggingFace

thanks!


Change the OPP policies to adopt OperatorPolicy

Deploying operators with OperatorPolicy has benefits that should be adopted to help customers get better visibility into the operator status automatically.
Refs:

https://issues.redhat.com/browse/OCPQE-25041

@gparvin I'd recommend setting the channels explicitly for best compatibility. We've encountered issues with autodetecting the channel if the cluster has multiple catalogs providing the same operator. This is because the OLM PackageManifest API round robins between them in some unknown way.

@gparvin I'd recommend setting the channels explicitly for best compatibility. We've encountered issues with autodetecting the channel if the cluster has multiple catalogs providing the same operator. This is because the OLM PackageManifest API round robins between them in some unknown way.

@mprahl I took your recommendation for a couple operators, but the others don't have a channel name that I can reliably generate without having to manually track it.  ODF and Quay had versions built in their channel names, example: stable-3.12.


Question: how to use for deploy

How can I use this to deploy to the cloud such as AWS for example? I saw that in the docs it comes with the ideal of publishing the package on npm registry for example, what about deploying an application on the cloud?
Thank you

Hi @zefexdeveloper,
Thanks for your question. You can create a GitHub action or use any other CI/CD service to deploy your application to the cloud. You can use these actions for example https://github.com/aws-actions
Cheers!


Missing include will cause "QItemSelection does not name a type"

Foreword
Seems you have a newer Qt6 than me (6.2.4), cmake will complain that Qt6QmlCompilerPlus is not found.
//The directory containing a CMake configuration file for Qt6QmlCompilerPlus.
Qt6QmlCompilerPlus_DIR:PATH=Qt6QmlCompilerPlus_DIR-NOTFOUND

Then I found at least a hint on https://github.com/thanegill/nixpkgs/blob/b107159b26ac922e59ec4644d569bb2397e6c365/pkgs/development/tools/qtcreator/qt6.nix#L72 which then won't find the missing Qt6QmlCompilerPlus
cmake .. -DQT_NO_FIND_QMLSC=TRUE
Problem
But, I still could not complile this commit as there was a bug causing an error in audiorecitemdialog.h:59:35
https://github.com/KejPi/AbracaDABra/blob/434b53204d48fd251636c932488455937a2a2e23/gui/audiorec/audiorecitemdialog.h#L59
[ 24%] Generating .rcc/qmlcache/AbracaDABra_qml/EPGTabButton_qml.cpp
[ 25%] Generating .rcc/qmlcache/AbracaDABra_qml/epg_qml.cpp
[ 26%] Running rcc for resource AbracaDABra_raw_qml_0
[ 27%] Running rcc for resource qmake_ProgrammeGuide
[ 28%] Running rcc for resource translations
Consolidate compiler generated dependencies of target AbracaDABra
[ 29%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/AbracaDABra_autogen/mocs_compilation.cpp.o
In file included from /home/andreas/apps/AbracaDABra/build/gui/AbracaDABra_autogen/IMWZC7MZOR/moc_audiorecitemdialog.cpp:10,
                 from /home/andreas/apps/AbracaDABra/build/gui/AbracaDABra_autogen/mocs_compilation.cpp:7:
/home/andreas/apps/AbracaDABra/build/gui/AbracaDABra_autogen/IMWZC7MZOR/../../../../gui/audiorec/audiorecitemdialog.h:59:35: error: ‘QItemSelection’ does not name a type
   59 |     void onServiceSelection(const QItemSelection &selection);
      |                                   ^~~~~~~~~~~~~~
make[2]: *** [gui/CMakeFiles/AbracaDABra.dir/build.make:298: gui/CMakeFiles/AbracaDABra.dir/AbracaDABra_autogen/mocs_compilation.cpp.o] Fehler 1
make[1]: *** [CMakeFiles/Makefile2:141: gui/CMakeFiles/AbracaDABra.dir/all] Fehler 2
make: *** [Makefile:136: all] Fehler 2

I could fix it, by adding #include <QItemSelectionModel> into that file.
Later I had another issue with QVariant which seemed to be missing in several files.
Try
abracadabra.patch.txt
diff --git a/gui/audiorec/audiorecitemdialog.h b/gui/audiorec/audiorecitemdialog.h
index 43c2664..451eabf 100644
--- a/gui/audiorec/audiorecitemdialog.h
+++ b/gui/audiorec/audiorecitemdialog.h
@@ -28,6 +28,7 @@
 #define AUDIORECITEMDIALOG_H

 #include <QDialog>
+#include <QItemSelectionModel>
 #include "slmodel.h"
 #include "audiorecscheduleitem.h"

diff --git a/gui/audiorec/audiorecschedulemodel.cpp b/gui/audiorec/audiorecschedulemodel.cpp
index dc42aeb..9a853df 100644
--- a/gui/audiorec/audiorecschedulemodel.cpp
+++ b/gui/audiorec/audiorecschedulemodel.cpp
@@ -27,6 +27,7 @@
 #include <QTime>
 #include <QBrush>
 #include <QPixmap>
+#include <QVariant>
 #include "audiorecschedulemodel.h"

 AudioRecScheduleModel::AudioRecScheduleModel(QObject *parent)
diff --git a/gui/audiorec/audiorecschedulemodel.h b/gui/audiorec/audiorecschedulemodel.h
index 2469563..1d309e3 100644
--- a/gui/audiorec/audiorecschedulemodel.h
+++ b/gui/audiorec/audiorecschedulemodel.h
@@ -29,6 +29,7 @@

 #include <QAbstractTableModel>
 #include <QObject>
+#include <QVariant>
 #include <QList>
 #include "audiorecscheduleitem.h"
 #include "slmodel.h"
diff --git a/gui/metadatamanager.h b/gui/metadatamanager.h
index 006bbad..b39252b 100644
--- a/gui/metadatamanager.h
+++ b/gui/metadatamanager.h
@@ -31,6 +31,7 @@
 #include <QDomDocument>
 #include <QPixmap>
 #include <QHash>
+#include <QVariant>
 #include "servicelist.h"
 #include "epgmodel.h"

diff --git a/gui/servicelist.h b/gui/servicelist.h
index 82b5707..00fd7dc 100644
--- a/gui/servicelist.h
+++ b/gui/servicelist.h
@@ -37,7 +37,7 @@
 #include <stdint.h>
 #include <QHash>
 #include <QSettings>
-
+#include <QVariant>
 #include "radiocontrol.h"
 #include "servicelistid.h"
 #include "servicelistitem.h"

‘const QVariant’ is ambiguous
Consolidate compiler generated dependencies of target AbracaDABra
[ 26%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/audiorec/audiorecschedulemodel.cpp.o
/home/andreas/apps/AbracaDABra/gui/audiorec/audiorecschedulemodel.cpp: In member function ‘void AudioRecScheduleModel::save(QSettings&)’:
/home/andreas/apps/AbracaDABra/gui/audiorec/audiorecschedulemodel.cpp:220:62: error: conversion from ‘uint64_t’ {aka ‘long unsigned int’} to ‘const QVariant’ is ambiguous
  220 |         settings.setValue("ServiceId", item.serviceId().value());
      |                                        ~~~~~~~~~~~~~~~~~~~~~~^~
In file included from /usr/include/x86_64-linux-gnu/qt6/QtCore/qlocale.h:43,
                 from /usr/include/x86_64-linux-gnu/qt6/QtCore/qcalendar.h:46,
                 from /usr/include/x86_64-linux-gnu/qt6/QtCore/qdatetime.h:47,
                 from /usr/include/x86_64-linux-gnu/qt6/QtCore/QTime:1,
                 from /home/andreas/apps/AbracaDABra/gui/audiorec/audiorecschedulemodel.cpp:27:
/usr/include/x86_64-linux-gnu/qt6/QtCore/qvariant.h:189:5: note: candidate: ‘QVariant::QVariant(float)’
  189 |     QVariant(float f);
      |     ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt6/QtCore/qvariant.h:188:5: note: candidate: ‘QVariant::QVariant(double)’
  188 |     QVariant(double d);
      |     ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt6/QtCore/qvariant.h:187:5: note: candidate: ‘QVariant::QVariant(bool)’
  187 |     QVariant(bool b);
      |     ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt6/QtCore/qvariant.h:186:5: note: candidate: ‘QVariant::QVariant(qulonglong)’
  186 |     QVariant(qulonglong ull);
      |     ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt6/QtCore/qvariant.h:185:5: note: candidate: ‘QVariant::QVariant(qlonglong)’
  185 |     QVariant(qlonglong ll);
      |     ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt6/QtCore/qvariant.h:184:5: note: candidate: ‘QVariant::QVariant(uint)’
  184 |     QVariant(uint ui);
      |     ^~~~~~~~
/usr/include/x86_64-linux-gnu/qt6/QtCore/qvariant.h:183:5: note: candidate: ‘QVariant::QVariant(int)’
  183 |     QVariant(int i);
      |     ^~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/qt6/QtCore/QSettings:1,
                 from /home/andreas/apps/AbracaDABra/gui/servicelist.h:39,
                 from /home/andreas/apps/AbracaDABra/gui/metadatamanager.h:35,
                 from /home/andreas/apps/AbracaDABra/gui/slmodelitem.h:32,
                 from /home/andreas/apps/AbracaDABra/gui/slmodel.h:35,
                 from /home/andreas/apps/AbracaDABra/gui/audiorec/audiorecschedulemodel.h:35,
                 from /home/andreas/apps/AbracaDABra/gui/audiorec/audiorecschedulemodel.cpp:31:
/usr/include/x86_64-linux-gnu/qt6/QtCore/qsettings.h:165:55: note:   initializing argument 2 of ‘void QSettings::setValue(const QString&, const QVariant&)’
  165 |     void setValue(const QString &key, const QVariant &value);
      |                                       ~~~~~~~~~~~~~~~~^~~~~
make[2]: *** [gui/CMakeFiles/AbracaDABra.dir/build.make:970: gui/CMakeFiles/AbracaDABra.dir/audiorec/audiorecschedulemodel.cpp.o] Fehler 1
make[1]: *** [CMakeFiles/Makefile2:141: gui/CMakeFiles/AbracaDABra.dir/all] Fehler 2
make: *** [Makefile:136: all] Fehler 2

No problem to compile on macOS. I will fix it when I start my Ubuntu machine - I am seriously considering to drop support for Qt < 6.5.

No, 34a985f22af0c0e5fe6b38595b547763a3cc9dc4 does not compile as well.
Consolidate compiler generated dependencies of target AbracaDABra
[ 29%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/AbracaDABra_autogen/mocs_compilation.cpp.o
In file included from /home/andreas/apps/AbracaDABra/build/gui/AbracaDABra_autogen/IMWZC7MZOR/moc_audiorecitemdialog.cpp:10,
                 from /home/andreas/apps/AbracaDABra/build/gui/AbracaDABra_autogen/mocs_compilation.cpp:7:
/home/andreas/apps/AbracaDABra/build/gui/AbracaDABra_autogen/IMWZC7MZOR/../../../../gui/audiorec/audiorecitemdialog.h:59:35: error: ‘QItemSelection’ does not name a type
   59 |     void onServiceSelection(const QItemSelection &selection);
      |                                   ^~~~~~~~~~~~~~
make[2]: *** [gui/CMakeFiles/AbracaDABra.dir/build.make:299: gui/CMakeFiles/AbracaDABra.dir/AbracaDABra_autogen/mocs_compilation.cpp.o] Fehler 1
make[1]: *** [CMakeFiles/Makefile2:141: gui/CMakeFiles/AbracaDABra.dir/all] Fehler 2
make: *** [Makefile:136: all] Fehler 2

As I wrote, I will hopefully fix it when I start Ubuntu. This commit fixed compilation under Arch Linux.

And this small patch fixes another error message
diff --git a/gui/audiooutputqt.cpp b/gui/audiooutputqt.cpp
index 82a3bbe..da4119b 100644
--- a/gui/audiooutputqt.cpp
+++ b/gui/audiooutputqt.cpp
@@ -341,7 +341,7 @@ qint64 AudioIODevice::readData(char *data, qint64 len)
         }
         else
         {   // not enough samples ==> inserting silence
-            qCDebug(audioOutput, "Muted: Inserting silence [%llu ms]", bytesToRead / (m_bytesPerFrame * m_sampleRate_kHz));
+            qCDebug(audioOutput, "Muted: Inserting silence [%lu ms]", bytesToRead / (m_bytesPerFrame * m_sampleRate_kHz));

             memset(data, 0, bytesToRead);

@@ -480,7 +480,7 @@ qint64 AudioIODevice::readData(char *data, qint64 len)
     }
     else
     {   // mute can be requested when there is not enough samples or from HMI
-        qCInfo(audioOutput, "Muting... [available %llu samples]", numSamples);
+        qCInfo(audioOutput, "Muting... [available %lu samples]", numSamples);
         if (numSamples < AUDIOOUTPUT_FADE_TIME_MS*m_sampleRate_kHz)
         {
             float gain = 1.0;

which was mentioned in:
In file included from /usr/include/x86_64-linux-gnu/qt6/QtCore/QLoggingCategory:1,
                 from /home/andreas/apps/AbracaDABra/gui/audiooutputqt.cpp:28:
/home/andreas/apps/AbracaDABra/gui/audiooutputqt.cpp: In member function ‘virtual qint64 AudioIODevice::readData(char*, qint64)’:
/home/andreas/apps/AbracaDABra/gui/audiooutputqt.cpp:344:34: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long unsigned int’} [-Wformat=]
  344 |             qCDebug(audioOutput, "Muted: Inserting silence [%llu ms]", bytesToRead / (m_bytesPerFrame * m_sampleRate_kHz));
      |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                                |
      |                                                                                uint64_t {aka long unsigned int}
/home/andreas/apps/AbracaDABra/gui/audiooutputqt.cpp:344:64: note: format string is defined here
  344 |             qCDebug(audioOutput, "Muted: Inserting silence [%llu ms]", bytesToRead / (m_bytesPerFrame * m_sampleRate_kHz));
      |                                                             ~~~^
      |                                                                |
      |                                                                long long unsigned int
      |                                                             %lu
In file included from /usr/include/x86_64-linux-gnu/qt6/QtCore/QLoggingCategory:1,
                 from /home/andreas/apps/AbracaDABra/gui/audiooutputqt.cpp:28:
/home/andreas/apps/AbracaDABra/gui/audiooutputqt.cpp:483:29: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long unsigned int’} [-Wformat=]
  483 |         qCInfo(audioOutput, "Muting... [available %llu samples]", numSamples);
      |                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ~~~~~~~~~~
      |                                                                   |
      |                                                                   uint64_t {aka long unsigned int}
/home/andreas/apps/AbracaDABra/gui/audiooutputqt.cpp:483:54: note: format string is defined here
  483 |         qCInfo(audioOutput, "Muting... [available %llu samples]", numSamples);
      |                                                   ~~~^
      |                                                      |
      |                                                      long long unsigned int
      |                                                   %lu

https://github.com/KejPi/AbracaDABra/blob/379c7474e775c97a5017e31454e18aedce500e3e/gui/setupdialog.cpp#L1151
Here is an example how you could solve this, too.

It is only minor warning under Linux that does not bother me.

Now it looks better:
diff --git a/gui/audiooutputqt.cpp b/gui/audiooutputqt.cpp
index 82a3bbe..4363833 100644
--- a/gui/audiooutputqt.cpp
+++ b/gui/audiooutputqt.cpp
@@ -341,7 +341,11 @@ qint64 AudioIODevice::readData(char *data, qint64 len)
         }
         else
         {   // not enough samples ==> inserting silence
+            #ifdef Q_OS_MACOS
             qCDebug(audioOutput, "Muted: Inserting silence [%llu ms]", bytesToRead / (m_bytesPerFrame * m_sampleRate_kHz));
+            #else
+            qCDebug(audioOutput, "Muted: Inserting silence [%lu ms]", bytesToRead / (m_bytesPerFrame * m_sampleRate_kHz));
+            #endif

             memset(data, 0, bytesToRead);

@@ -480,7 +484,11 @@ qint64 AudioIODevice::readData(char *data, qint64 len)
     }
     else
     {   // mute can be requested when there is not enough samples or from HMI
+        #ifdef Q_OS_MACOS
         qCInfo(audioOutput, "Muting... [available %llu samples]", numSamples);
+        #else
+        qCInfo(audioOutput, "Muting... [available %lu samples]", numSamples);
+        #endif
         if (numSamples < AUDIOOUTPUT_FADE_TIME_MS*m_sampleRate_kHz)
         {
             float gain = 1.0;

There is no message anymore:
[ 26%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/audiooutputqt.cpp.o
[ 27%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/abracadabra_qmltyperegistrations.cpp.o
[ 28%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/.rcc/qmlcache/AbracaDABra_qml/epg_qml.cpp.o
[ 29%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/.rcc/qmlcache/AbracaDABra_qml/EPGItem_qml.cpp.o
[ 30%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/.rcc/qmlcache/AbracaDABra_qml/EPGSwitch_qml.cpp.o
[ 31%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/.rcc/qmlcache/AbracaDABra_qml/EPGTabBar_qml.cpp.o
[ 31%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/.rcc/qmlcache/AbracaDABra_qml/EPGTabButton_qml.cpp.o
[ 32%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/.rcc/qmlcache/AbracaDABra_qml/EPGColors_qml.cpp.o
[ 33%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/.rcc/qmlcache/AbracaDABra_qml/EPGHorizontalShadow_qml.cpp.o
[ 34%] Building CXX object gui/CMakeFiles/AbracaDABra.dir/.rcc/qmlcache/AbracaDABra_qml/EPGScrollableText_qml.cpp.o
[ 35%] Linking CXX executable AbracaDABra
[100%] Built target AbracaDABra

Warning is only generated under Ubuntu, no problem on macOS, Windows or ArchLinux.

But a user (like me) will wonder about the (only) warning message (meaning that the programming is very good for the rest of the files). My patch will prevent from showing the build-warning at all.

It is only happening under Ubuntu, not clear why. However I have committed a change  1f777d97f561537fe077f20da89c6bf92440a1a3 that should fix it and make the behavior unified under all OS.

@KejPi + @andimik : I had in my (also a DAB) project the issue that the %llu or %lu in the printf() method would not fit for both Windows and Linux (Ubuntu 22.04) while accessing an uint64_t variable.
I could solve this with a special macro which is differently defined in Windows and in Linux.
See https://github.com/tomneda/DABstar/commit/4915da9b3431d8a17913a25502fa86f8dfd8a2bd .
Linux defines %PRIu64 as %lu, Windows as %I64u
Hope this will help you in your case.

@tomneda Thanks for the hint. Since I do not actually need full int64 range in the log message I did typecast to int and it seems to work too bacause @andimik stopped complaining 😁 In any case, I still consider this as no issue at all, it is only a warning. There are many projects out there with so many scary warnings during compilation and still they work and are used massively.

I was not complaining anymore as I have a patch ;-)

@KejPi I can unterstand @andimik. I like my code completely warning-free (with -Wall). Especially there are really important warnings and with too many less important shown warnings a important warning could be overseen.
I have an example of a really important warning about mixing a signed int with an unsigend int in an if-clause:
(warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’)
Go to https://www.onlinegdb.com/online_c_compiler and try out this code:
#include <stdio.h>

int main()
{
    int s = -4;
    unsigned int u = 5;

    if (s > u)
    {
        printf("s (%d) > u (%u)", s, u);
    }
    else
    {
        printf("s (%d) <= u (%u)", s, u);
    }

    return 0;
}

The result is
s (-4) > u (5)
Were you aware of that? 😁
I intuitively expected that the unsigned int is converted to an signed int but not the other way around.

Yes, I am aware of that sign related issues.
I like my code without warnings too, and it is clean under macOS on Apple Silicon that is my main OS. I do not care much about other OS as long as the project is compilable and there are no OS specific application problems reported. Actually, the most interesting part about that int64 related warning was that it appeared only under Ubuntu not on other platforms I use to compile the code.


Add resource list endpoint

Description
A lot of the paging/sorting/filtering code was moved or adapted with small changes from lsm.
We'll need to clear that up, the ticket for that is inmanta/inmanta-lsm#634
closes #3045
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[x] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Failed to merge changes into iso4 due to merge conflict.Please open a pull request for these branches separately.

Merged into branches master in 63e6734de2a89d3828f14cea26fa59c37021c4ec

Not closing this pull request due to previously commented issues for some of the destination branches. Please open a separate pull request for those branches. You can safely close this pull request and delete the source branch.


Running in background, assignment caching, assignment-task association

Summary
This PR creates this new feature: A "run in background" feature, asking users if they want to make the program auto-update every ~1 hour
Purpose
I like knowing that my assignments will stay updated without me having to manually run a script, so having the script run in the background while I'm in class sounds much better.
Acknowledgements
Thanks to the developers of the original script! I actually hope to use this a lot to stay on top of my assignments.

I don't think the cache assignments thing is a good idea anymore, should probably focus on "is past due" or "is marked as completed" using the Canvas API.
My issue at the moment is that I get a lot of assignments that are past due that keep appearing on my Todoist, even if I mark them as completed. I think having this as an option wouldn't hurt anymore.
Anyways, the "background run" thing seems to be ready.

Thanks for the comments and updates! A couple thoughts:

Running every hour is a surefire way to possibly get throttled/locked by both Todoist and/or Canvas APIs. Todoist is nicer - they just reject your requests. Canvas in particular is really picky and will just block the API key, and it will quit working. Are your teachers really adding assignments within an hour timeframe?  The goal here is to pull all of your assignments from Canvas into Todoist, not keep the two in sync.

Currently tasks aren't filtered from the Canvas API - that's something I'm considering reworking in the future probably with a substantial rewrite - but right now all of them are pulled and synced. This is helpful for the completion stats but not entirely necessary.

Hi,
I agree with every hour being excessive. I've had p bad experiences with some professors changing things last minute. I was considering maybe just once a day or something, so maybe I should change that instead. :P
As for filtering... yeah I saw the Canvas API and saw how weird it's looking. 😔

Regarding your assignment on past due assignments - can they be submitted? The way I have the logic currently is to copy anything that can be submitted. My expectation was that if you can submit it, you would want it synced..

Daily, or even every 8-12 hours, is certainly reasonable. It does depend on your courses and the amount of content. When I ran this with 6-8 courses, I got throttled pretty quick, running more than even hourly was too much (improved since we fixed it a bit). If you only had say 1-2 courses with <100 assignments total, you could probably run it infinitely.

Regarding your assignment on past due assignments - can they be submitted? The way I have the logic currently is to copy anything that can be submitted. My expectation was that if you can submit it, you would want it synced..

That makes sense tbh. Some professors are a bit weird with it. Like, discussions that are done in groups but the submission isn't a group submission?
I suppose it isn't an issue with the code, but rather user issue lol

Also, if there's anything else I can do, please let me know. I'll try to finish it up any changes tomorrow. :)


Functions as parameters

Describe the bug
In some cases, it is not possible to pass a function as a value.
To Reproduce
Let's say we have an entity with optional map parameter which accepts functions with arity 1:
defmodule Parameter do
  defstruct [:name, :map]

  @schema [
    name: [
      type: :atom,
      required: true,
      doc: "A name of the parameter"
    ],
    map: [type: {:fun, 1}]
  ]

  def schema, do: @schema
end

This works:
param :id, map: &Function.identity/1

this doesn't:
param :id, map: fn value -> value end

error:
** (ArgumentError) cannot inject attribute @spark_dsl_config into function/macro because cannot escape #Function<2.90808913/1 in :elixir_compiler_6.__MODULE__/1>. The supported values are: lists, tuples, maps, atoms, numbers, bitstrings, PIDs and remote functions in the format &Mod.fun/arity
    (elixir 1.14.3) lib/kernel.ex:3543: Kernel.do_at/5
    (elixir 1.14.3) expanding macro: Kernel.@/1

if I rewrite this using do/end blocks, then it works:
param :id do
  map(fn value -> value end)
end

this doesn't:
param :id do
  map(& &1)
end

error (arity is detected incorrectly):
** (Spark.Error.DslError) [TestSchema]
 commands -> param -> id:
  invalid value for :map option: expected function of arity 1, got: function of arity 0

this doesn't work as well, but with different error:
param :id do
  map(& &1.id)
end

error:
** (ArgumentError) cannot inject attribute @spark_dsl_config into function/macro because cannot escape #Function<2.8108167/1 in :elixir_compiler_2.__MODULE__/1>. The supported values are: lists, tuples, maps, atoms, numbers, bitstrings, PIDs and remote functions in the format &Mod.fun/arity
    (elixir 1.14.3) lib/kernel.ex:3543: Kernel.do_at/5
    (elixir 1.14.3) expanding macro: Kernel.@/1

but this works
param :id do
  map(& Map.get(&1, :id))
end

Expected behavior
It would be great if all cases above work, especially one-liners like param :id, map: & &1.id
Runtime

Elixir version: 1.14.3
Erlang version: 25
OS: Linux
Spark version: from master
any related extension versions: no

also, if I forget to type a map key:
param :id, &to_string/1

then I receive a cryptic error:
== Compilation error in file lib/test_schema.ex ==
** (Protocol.UndefinedError) protocol Enumerable not implemented for {:&, [line: 6], [{:/, [line: 6], [{:to_string, [line: 6], nil}, 1]}]} of type Tuple
    (elixir 1.14.3) lib/enum.ex:1: Enumerable.impl_for!/1
    (elixir 1.14.3) lib/enum.ex:166: Enumerable.reduce/3
    (elixir 1.14.3) lib/enum.ex:4307: Enum.map/2

These should all be handleable things. Thanks for the report :) I'll look into it soon.

functions like & &1 and & &1.id still don't work.
Seems like because the line is hardcoded [line: 113]

Oops :) Sorry about that.

Fixed :)

Cool! Thank you for quick fixes :)

My pleasure :D


Update user guide to match static site

[ ] Email results, Retext/ reemail results
[ ] reactivate users screen
[ ] Add / select swab type screens
[ ] New results download page
[ ] Conduct tests updates
[ ] Update facility settings
[ ] Add a facility
[ ] Archive a person added contact info
[ ] New reset user pword page
[ ] New reset user MFA page

And more as documented on last 2 versions of source of truth docs

Updated via https://github.com/CDCgov/prime-simplereport-site/pull/280. Closing


Remove database files present in the version control system

Intro
Although it helps a lot having a database with values setup for some tests, it creates some problems that, in my opinion, overweight the advantages. Here's a non exhaustive list of problems I've ran into:

Impossible to know if the test makes sense or not by reading the test itself. You need a SQL client open at the same time with multiple tables open.

We get random errors with queries leaking from other tests. postgres screams when we try to delete a database that is being accessed. I debugged it for a while but never really got to the bottom of it. This is one of the reasons that I can't get the tests running locally (to be stable);

Our database related scripts in bash aren't aware of our configuration thus can't be used within docker and increases the burden on automation in general.  I've made progress on this by adding replacements of the bash scripts written in JavaScript. However, tailoring a script that destroys a database and recreate it in JavaScript is just reimplement the problem.

There are incompatibilities between pg_dump/pg_restore and some versions of the server. Which cause the incompatible header version error message once in a while.

What to do instead
We could create a library that provides helpers to create multiple objects for common cases. I worked on a draft of it
What needs to be changed
There are some tests that would require being rewritten before we get rid of those files. Here's the list of files:

test/graphql.createOrder.test.js (12 tests -- and the nock setup of this file is also very hard to maintain)
test/graphql.transaction.test.js (5 tests)
test/graphql.collective.test.js (13 tests)
test/lib.transactions.test.js (1 test)
test/lib.host.test.js (5 tests)
test/graphql.invoices.test.js (3 tests)

To give some context:
The idea was to seed the database with some data. So that when you install Open Collective on your machine, you already have a few collectives to play with with a few individual backers and organizations.
It also makes it easier to test complex methods such as computing the balance of a host across multiple collectives (which would require creating a lot of rows just to set the context up). It's a lazy way to do it and probably not the best.

tldr; I'd keep one .pgsql file to seed the database but we shouldn't probably rely on it for the tests.

tldr; I'd keep one .pgsql file to seed the database but we shouldn't probably rely on it for the tests.

Definitely a good idea! I'll keep it there for sure!

Alright. I removed all the tests that depended on the loadDB utility!


python310Packages.pysqueezebox: 0.5.5 -> 0.6.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.pysqueezebox is: "Asynchronous library to control Logitech Media Server"
meta.homepage for python310Packages.pysqueezebox is: "https://github.com/rajlaud/pysqueezebox"
meta.changelog for python310Packages.pysqueezebox is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 0.6.0 with grep in /nix/store/mzi35dzmaii3jibs8h1v70lnikpi186p-python3.10-pysqueezebox-0.6.0
found 0.6.0 in filename of file in /nix/store/mzi35dzmaii3jibs8h1v70lnikpi186p-python3.10-pysqueezebox-0.6.0

Rebuild report (if merged into master) (click to expand)

5 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
2 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
home-assistant-component-tests.squeezebox
python310Packages.pysqueezebox
python39Packages.pysqueezebox

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/mzi35dzmaii3jibs8h1v70lnikpi186p-python3.10-pysqueezebox-0.6.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python310Packages.pysqueezebox https://github.com/r-ryantm/nixpkgs/archive/c8fa27ea0074b2056e04829df6ddbc20cfdd7088.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/mzi35dzmaii3jibs8h1v70lnikpi186p-python3.10-pysqueezebox-0.6.0
ls -la /nix/store/mzi35dzmaii3jibs8h1v70lnikpi186p-python3.10-pysqueezebox-0.6.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

home-assistant-component-tests.squeezebox
python310Packages.pysqueezebox
python39Packages.pysqueezebox

Maintainer pings
cc @nyanloutre for testing.

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

3 packages built:

home-assistant-component-tests.squeezebox
python310Packages.pysqueezebox
python39Packages.pysqueezebox


Feature socket rooms

If this works, this PR should not only make the code less error-prone in the future but also fix the bug where the client will occasionally disconnect from twitch.


Superball tank by AuSY0201 (Jin_Shuyu)

This PR is for both task 1 and task 2.
Brief Introduction to My Tank (tank_ausy0201)
Tank Movement Control
The movement of my tank is made much smoother, trickier and more realistic than the tiny_tank. Basically, when the keys are pressed [released], instead of setting the (linear or angular) speed of the tank directly to the maximum value [zero], we let the tank gradually accelerate to that target speed, and the acceleration rate is proportional to the difference between the target speed and the speed of the tank. Similarly, now it takes some time for the turret to turn to the direction of the mouse.
These changes posed great challenge in taking full control of the tank. I found it hard to simultaneously control the linear speed, the angular speed and the turret well! :)
New Bullet: Superball
Instead of the original bullet (still available using left-click), the tank can now shoot a new type of superball bullet (using right-click) with a cooldown of 2 seconds. For what is a "Superball", ask a PhOer (and there is a high chance that they starts 嚎叫 and 破防)!
Generally speaking, superball is a kind of ball whose angular velocity and linear velocity can change during collisions. It may have very weird trajectories (see the video). To encourage full exploration of the mechanism of the superball, the basic damage of the superball is set to 15hp, and additional damage is added if the superball hits the target with high angular velocity!
https://github.com/user-attachments/assets/861d17cf-897f-4175-8338-8ab46e28220f

Some parameters of my tank
Max_speed_foward = 1.0 unit/sec
Max_speed_backward = 0.4 unit/sec  // Yes, obviously the speed of moving backwards should be slower :)
Max_angular_speed = 180 degree/sec
Linear_accelerate_time_constant = Angular_accelerate_time_constant = Angular_decelerate_time_constant = 0.5 sec
Linear_decelerate_time_constant = 1.0 sec
turret_rotation_time_constant = 0.3 sec

This update of my PR is for task 4.
It addressed the issue: Close #30 by Damocleser-L.
Update of My Tank in Commit eb79efa
The velocity of the bullet is now related to both the speed of the tank itself and the angular speed of the turret. The velocity of the bullet is now the sum of:

20 unit/sec basic radial velocity;
turret_radius * turret_angular_speed tangential velocity;
tank speed;
and an angular velocity equal to turret_angular_speed.

Also, the parameter turret_rotation_time_constant is now editted to 0.1 sec to magnify this effect.
The details of the implementation is in the GetBulletVelocity method in tank_ausy0201.cpp (lines 217-224).
Video Demo
Demo of how to achieve higher bullet speed by shooting while moving or turning the turret:
https://github.com/user-attachments/assets/e2173df5-c8f1-4ff9-a9b0-465523e96e13
Now with perfect setting you can even insta-kill a unit (or yourself) with just one shot!
https://github.com/user-attachments/assets/eef79cdc-6097-40a9-b6f8-590a1942e3ad


added the corrected documentation to change keybinding config

The current custom keybinding documentation is outdated in two aspects

The current documentation for modifying or adding Keybinds is incorrectly listed as Keybindings.
The examples are changed from

context.Keybindings.Unsubscribe(mod, Keys.Y);
//TO
context.Keybinds.Unsubscribe(mod, Keys.Y);

The mod key is not defined so the examples exit with an error

This results in an error when workspacer starts
Microsoft.CodeAnalysis.Scripting.CompilationErrorException: (21,32): error CS0103: The name 'mod' does not exist in the current context
   at Microsoft.CodeAnalysis.Scripting.ScriptBuilder.ThrowIfAnyCompilationErrors(DiagnosticBag diagnostics, DiagnosticFormatter formatter)
   at Microsoft.CodeAnalysis.Scripting.ScriptBuilder.CreateExecutor[T](ScriptCompiler compiler, Compilation compilation, Boolean emitDebugInformation, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.Scripting.Script`1.GetExecutor(CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.Scripting.Script`1.RunAsync(Object globals, Func`2 catchException, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.Scripting.Script`1.RunAsync(Object globals, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.RunAsync[T](String code, ScriptOptions options, Object globals, Type globalsType, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.CSharp.Scripting.CSharpScript.EvaluateAsync[T](String code, ScriptOptions options, Object globals, Type globalsType, CancellationToken cancellationToken)
   at workspacer.ConfigHelper.DoConfig(IConfigContext context)
   at workspacer.workspacer.Start()
   at workspacer.Program.Run()
   at workspacer.Program.Main(String[] args)

This has been fixed by
KeyModifiers mod = KeyModifiers.Alt;

I don't see that this change includes Unsubscribe()-changes listed in the description.
Did you forget to include some commits?


Nick: Watch kufun.tv

Nick requests the watch of the watch_keyword kufun\.tv. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

kufun\.tv has been seen in 0 true positives, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Upgrade MSW to remove long, noisy CircleCI build warnings

Closes #1684
Before, MSW was causing CircleCI (not dev machines) to blurt out long and details warnings, making it difficult to spot legit warnings and errors.
This commit fixes it BUT for some reason also causes a lot of package dependence warnings, so we need to discuss it.

im in the process of updating pretty much our entire codebase to newer package versions, so lets hold off until thats done

Ah okay -- good news!


SDC-11243 Add "JDBC Driver Class Name" config to MySQL Binary Log origin

Useful for working around driver loading issues when using multiple JDBC origins (eg. when a pipeline using Oracle CDC Client origin starts before a pipeline using this origin.)

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

Have you by any chance seen my comments @jsharper ?

Are there any more concerns with this PR or this approach to fixing SDC-11243?


[ISSUE #3511] upgrade mybatis , druid, pagehelper version and test.

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #3562 (1945a31) into master (74057a0) will decrease coverage by 0.58%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3562      +/-   ##
============================================
- Coverage     62.80%   62.22%   -0.59%
+ Complexity     5573     5526      -47
============================================
  Files           842      848       +6
  Lines         23369    23460      +91
  Branches       2124     2130       +6
============================================
- Hits          14678    14597      -81
- Misses         7340     7503     +163
- Partials       1351     1360       +9

Impacted Files
Coverage Δ

...plugin/logging/rocketmq/LoggingRocketMQPlugin.java
22.72% <0.00%> (-72.73%)
:arrow_down:

...gboot/sync/data/zookeeper/ZookeeperProperties.java
0.00% <0.00%> (-52.64%)
:arrow_down:

...data/zookeeper/ZookeeperSyncDataConfiguration.java
0.00% <0.00%> (-38.47%)
:arrow_down:

...enyu/admin/service/impl/PermissionServiceImpl.java
40.50% <0.00%> (-32.23%)
:arrow_down:

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
75.00% <0.00%> (-25.00%)
:arrow_down:

...ache/shenyu/admin/model/query/PermissionQuery.java
0.00% <0.00%> (-21.06%)
:arrow_down:

...ogging/rocketmq/body/LoggingServerHttpRequest.java
0.00% <0.00%> (-20.00%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

...che/shenyu/admin/service/impl/RoleServiceImpl.java
61.66% <0.00%> (-7.47%)
:arrow_down:

.../apache/shenyu/admin/model/dto/BatchCommonDTO.java
50.00% <0.00%> (-7.15%)
:arrow_down:

... and 42 more

Continue to review full report at Codecov.

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


Access request for leonarda

Access level:

[ ] Non-privileged
[x] jenkins user
[ ] root/Administrative
[ ] other (Please specify):

System for which access is needed: build-scaleway-ubuntu1604-armv7-2
Please explain why you need this access including whether it is a temporary or permanent request:
To debug issue: https://github.com/AdoptOpenJDK/openjdk-build/issues/2247

Access granted to user leonarda using the provided ssh key. I've given read acces to the jenkins dir. If that's inadequate let me know :-) Good luck with the issue

I don't need access any more, thanks


Add more labels for endpointslice and endpoints role in k8s discovery

add endpoints annotation labels
add endpointslice annotation labels
add _meta_kubernetes_endpoints_label* and _meta_kubernetes_endpoints_labelpresent* labels
refine the code of getting labels from object meta, including name, label and annotation.

@brancz PTAL

@brancz Could you help to merge this PR? Thanks.

this now needs a rebase

@roidelapluie PTAL

Thanks!


Use native hash_equals in Security::compareString

Using native timing attack safe function http://php.net/manual/ru/function.hash-equals.php

PHPUnit tests failed :(

Won't accept it as is considering that it fails tests. Current solutuion was tested and verified.


Various fixes to make it work for me

These are the fixes I suggested in IRC.  With these fixes I get results that look (more or less) the same in Blender and Panda3D.
I also removed the get_data() call in favour of using the buffer interface since that should prevent a redundant copy operation.
If you want to avoid Panda doing the component swap, then I suggest you change it back to BGR and change glTexImage2D call to use GL_BGR as well.
Note that this relies on Panda3D 1.9 features so won't work in Panda3D 1.8.1.

Nice! When I get around to a Readme/proper instructions, I'll make sure to mention that Panda3D 1.9 is required.
As for the component swap, changing the BRTE addon to use GL_BGR would require all engines to return BGR data, or provide an interface that allows the engine to further describe the data (besides just width and height). So for now, we'll just have Panda do the component swap and worry about it if/when we get around to some performance tuning.