Auto indenting is all over the place, should respect settings

VSCode Version: Code - Insiders 1.14.0-insider<PHONE_NUMBER>83c7bb4d70c89898bc5337ce57fe98, 2017-06-29T05:16:56.386Z)
OS Version: Windows_NT x64 6.1.7601
Extensions: none

This is a pretty obvious bug, but of all the indent-related issues, I'm not quite sure if any match. Nearest matches are probably #25253 and #29472. As usual I'll probably find the main issue after submitting as well, but here is me editing a TypeScript file:

Steps to reproduce:

Keep pressing enter a few times.
Press backspace. Repeatedly.

Steps to reproduce:

Press enter twice.
Up arrow once.

Related settings:

"editor.formatOnType": false
"files.trimTrailingWhitespace": true

@mattacosta can you share your tab settings together? editor.tabSize and editor.insertSpaces. They can help me reproduce this issue.

Having the same problem while working with JavaScript files.
I have "editor.tabSize": 2 and editor.insertSpaces": true set in my preferences.
I can consistently reproduce this problem without any addons by:

Create new document.
Change document language to JavaScript (using controls in status bar).
Change to indent using spaces (any amount) (using controls in status bar).
Create a function; for example:const func = function () {};

Place cursor between curly brackets and press enter several times.

Turned on BetterWhitespace to for a better visualization of what's happening in the gif. Same thing happens while this addon is disabled.
These are the settings I generally use for JavaScript:

Indent using spaces: 2
UTF-8 encoding
LF End of Line Sequence
JavaScript language mode

It's a fresh insiders install, so they are at their default values (which if I recall should be 4 and true respectively). The file itself says "Spaces: 2" though, which is also correct.

Issue appears to have been fixed in the auto-indenting overhaul.


[timeseries] Clarify documentation related to test_data

Issue #, if available: fixes #4050
Description of changes:

Clearly describe that test data must include both historic & future time series values

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Previous CI Run
Current CI Run

Thank you so much for moving so quickly to adopt my suggested changes!
Just want to follow up on the reason for requiring historical period in test_data: let's say the prediction_length of my predictor is 30 days, why can't I pass a test_data which also has 30 days of data to .leaderboard() since that is the only data I want to calculate the evaluation score on, thanks!

I have the same question: why is it required that data must be at least prediction_length + 1? Why not prediction_length instead of prediction_length+1?

Thank you so much for moving so quickly to adopt my suggested changes!
Just want to follow up on the reason for requiring historical period in test_data: let's say the prediction_length of my predictor is 30 days, why can't I pass a test_data which also has 30 days of data to .leaderboard() since that is the only data I want to calculate the evaluation score on? Thanks!

@lleiou @shashankumar2812 When we call predictor.evaluate(data), essentially, the following happens:

We split data into two disjoint parts:

future_data (last prediction_length time steps of each time series)
past_data (everything before the last prediction_length steps of each time series).

We call forecast = predictor.predict(past_data)
We compare forecast & future data score = eval_metric(future_data, forecast).

If we only provide the last prediction_length observations of each time series to predictor.evaluate, then after the split our past_data will be empty, so the predictor won't be able to generate a forecast for the forecast horizon.
We opted for this more general design (where both past data + future data is required when calling evaluate) since it allows us to evaluate the predictor on different time series / different train-test splits. If we went for the alternative approach, where predictor.evaluate accepts just the future data, this would mean that we can only evaluate the predictor on the exact same time series used for training, using only the future values starting from the end of the train data.

Thanks @shchur for your answer


Excercise panic cases in tests for UpgradeOpen/UpgradeRestore

Ref review comment:

Suppose there will never an expError because the func can only panic in one case.
It should be possible to set some mock app or middleware as the app which doesn't implement the interface. Maybe could reuse something from #5406 with expPanics, where instead of using nil we use a mock that doesn't implement the interface:
if expPanics {
    cbs = controller.NewIBCMiddleware(ibcmock.NewBlockUpgradeMiddleware(), suite.chainA.GetSimApp().ICAControllerKeeper)
}

Happy to do it in a follow up if we go with the mock upgrade middleware

For Admin Use

[x] Not duplicate issue
[x] Appropriate labels applied
[ ] Appropriate contributors tagged/assigned

Hi sir @DimitrisJim, can I pick up this issue?


Add authenticated crawling (login) option

By authenticated crawling the crawer can find more endpoints.Add parameters like --username and -- password like features or equivalent to that.

@brutexploiter this is being tracked as part of https://github.com/projectdiscovery/katana/issues/209


[BUG] Auto id produce duplicate value

Version
5.0.8
Describe the bug
Just look to code below - when I open db second time and delete last item in collection, id of newly added item became last deleted item id.
Code to Reproduce
public class StateModel
{
    [BsonId]
    public int Id { get; set; }
}

[Fact]
public void MyTest()
{
    var ms = new MemoryStream();

    var m1 = new StateModel();
    var m2 = new StateModel();

    using (var db = new LiteDatabase(ms))
    {
        var col = db.GetCollection<StateModel>("col");
        col.Insert(m1);
    }

    using (var db = new LiteDatabase(ms))
    {
        var col = db.GetCollection<StateModel>("col");

        col.FindById(m1.Id).Should().NotBeNull();
        col.Delete(m1.Id);

        col.Insert(m2);
    }

    m1.Id.Should().NotBe(m2.Id); // Throw exception.
}

Expected behavior
I expected that id of newly added item is absolute new (never used any time before).
I.e. Id of m1 and m2 should be differs.

@mikhail-khalizev When Using Int32 or Int64 as auto-id, LiteDB will always use the next available value. If you really need for your objects to have an unique id, consider using Guid or ObjectId as id.

Okay


502:  Bad gateway on new install with Con Bee 2 as addon to HA placed on VM

I can't fix my problem need help.
I was migrating from intgrated zigbee to zigbee2mqtt
I uninstaled my zigbee before installing but no succes for day's
Config file.txt
Thanks in advanced Ernst

Try to find out the correct port of your device (in HA got to Settings -> Supervisor -> System --> 3 dots @ host --> Hardware:

Change the configuration to the shown device like this in your config:
Be sure to add adapter: deconz if you have a Conbee adapter. Look here:
https://www.zigbee2mqtt.io/guide/configuration/adapter-settings.html
# Optional: adapter type, not needed unless you are experiencing problems (default: shown below, options: zstack, deconz, ezsp)
  adapter: null

serial:
  port: >-
    /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DExxxxxxx-if00
  adapter: deconz

Hello thanks in advance for trying to help but i still have problems
Whats going on.
My last action was updating from mqtt version 1.18.1. to version 1.22.1-1
With configuration as below
data_path: /config/zigbee2mqtt
external_converters: []
devices: devices.yaml
groups: groups.yaml
homeassistant: true
permit_join: false
mqtt:
base_topic: zigbee2mqtt user:mqtt pass:mqtt
serial:
port: /dev/ttyACM0
adapter: deconz
advanced:
log_level: warn
pan_id: 6754
channel: 11
network_key:
- 1
- 3
- 5
- 7
- 9
- 11
- 13
- 15
- 0
- 2
- 4
- 6
- 8
- 10
- 12
- 13
availability_blocklist: []
availability_passlist: []
device_options: {}
blocklist: []
passlist: []
queue: {}
frontend:
port: 8099
experimental: {}
availability: false
socat:
enabled: false
master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
options: '-d -d'
log: false
disable_led: false
Then i see only a warning like this
Zigbee2MQTT:warn  2021-12-24 09:26:14: Using experimental new availability feature
Any changing in config goes to error like this
Zigbee2MQTT:error 2021-12-21 08:11:14: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2021-12-21 08:11:14: Failed to start zigbee
Zigbee2MQTT:error 2021-12-21 08:11:14: Exiting...
Zigbee2MQTT:error 2021-12-21 08:11:14: Error: Failed to connect to the adapter (Error: SRSP - SYS - ping after 6000ms)
When i use the config with only a warning and start  Zigbee2qmtt the app has no more bad gateway but
Shows Loading please wait with a turnig cursor and that's it
It shows allso the menu but nothing happens.
Any changing i made goes to error or bad gatway.
I ven made a new virtual machine and installation with only the conbee 2 adaptor but he problems are the same
I can't find out what i,m doing wrong
I'm desperate.
Maybe a dumb question but is there any possibility to help me for example by connecting over teamviewer remote support?
I would be extremely thankfull.

By the way changing to port to :  port: >-
/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2460721-if00
Makes no difference at all

I have extra info now.
When i set my sound i hear on my host machine where i use vm ware for the virtual machine i hear a sound
This sound appears when i start zigbee2mqtt for 4 times, the same like i connect the zigbee stick in hardware
When i look at the vm i can see the stick is connected to th virtual homeassistant
I can find the stick in HA hardware.

Last update IT WORKS
I realy don't know why it was a little bit of try and error and suddenly ..............eureka


Add preview support for Lightweight transforms

Summary
Address https://github.com/emdgroup/foundry-dev-tools/issues/45
Add support for running local preview for @lightweight and @transform_polars Transforms which were recently added to the Foundry Transforms library.

The main contribution is adding local mock implementations for @lightweight, @transforms_polars, LightweightTransformInput, and LightweightTransformOutput.
However, next to this, this PR also proposes to make Input download the datasets and load the Spark DataFrames lazily. With this, we can avoid initialising Spark when using Lightweight transforms, which shaves off a few seconds from every preview run.

This also has the added benefit of improving the initial startup overhead in larger repositories.

A new method, get_local_path_to_dataset, is added to Input to lazily load the underlying files of the Dataset without having to initialise Spark when running Lightweight transforms.

Limitations

Bring-your-own-container workflows and setting resource limits (as-well-as provisioning GPUs) using @lightweight is not yet supported when running preview locally.
When running fdt build, the build logs are fetched from spark reporter which is not available in the case of (lightweight) container transform. We could use foundry-telemetry-service's readV3 endpoint to tail logs, however, that has an at least 1 minute latency. Fortunately, a new, real-time log fetching endpoint is soont to be released, so we can transition to using that in a follow-up PR.
CSV datasets are supported for Lightweight, but the Foundry schema is not loaded (just like for regular transforms)

Checklist

[x] You agree with our CLA
[x] Included tests (or is not applicable).
[x] Updated documentation (or is not applicable).
[x] Used pre-commit hooks to format and lint the code.

 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.

I'm coordinating with legal regarding the CLA

We're still actively looking into the CLA

The CLA has been cleared, so I've signed it! Feel free to take a look at the PR @jonas-w, I'm happy to discuss the details, especially if there're any counter-arguments against the lazy dataset loading

Thanks for implementing the laziness in the decorators, something that was on our long list as well.

Thanks for giving this a proper review, I've addressed your comments!
I've done some further testing with schema-less datasets for both lightweight & regular transforms and preview seems to be working as expected! As for the logging, there isn't a trivial way of implementing this (we could look at the JobSpec though) but the foundry telemetry service update is just around the corner which will work with both Spark and Lightweight transforms!

lgtm

Sure, I've dropped the merge commit @jonas-w!


Privilege Dropping

Changed threads to processes to fix permission issues (changing in one thread applies to all)
setgid is before setuid becuase dropping uid may stop dropping gid

Using pwd.getpwuid and grp.getgrgid to resolve symbolic user and group names might be preferable, but from a quick glance this should work.

I've added user/group names and README.md info.

Not every OS has root as a group. Linux generally does, but FreeBSD doesn't. Starting this without passing a group fails to start on FreeBSD.
[root@icb:~/PyPXE-icb] # python -m pypxe.server
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/local/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/root/PyPXE-icb/pypxe/server.py", line 327, in <module>
    main()
  File "/root/PyPXE-icb/pypxe/server.py", line 213, in main
    args.DROP_GID = grp.getgrnam(args.DROP_GRP).gr_gid
KeyError: 'getgrnam(): name not found: root'
1z [root@icb:~/PyPXE-icb] 1 # python -m pypxe.server --group nobody
2015-06-05 12:51:49,914 [INFO] PyPXE Starting TFTP server...
2015-06-05 12:51:49,916 [INFO] PyPXE PyPXE successfully initialized and running!
^C
Shutting down PyPXE...

Process Process-1:
Traceback (most recent call last):
1z [root@icb:~/PyPXE-icb] 1 # id
uid=0(root) gid=0(wheel) groups=0(wheel),5(operator)
1z [root@icb:~/PyPXE-icb] #

Am I safe to use 0 as a default GID though?

I think I've fixed this. We only resolve the name if it's not the default.

AFAIK, 0 should be safe, but maybe it's better to only drop if user/uid and/or group/gid are specified?

I'm not sure how to do that without another flag, and that seems excessive. 'dropping' to 0 has no effect so is safe as long as uid/gid 0 exists. Using os.getuid/os.getgid as the defaults might work well. On my system they return 0 but we know it would be safe to set{uid,gid} to the return value.

Closed per #108


Ubuntu v16.04 and older does not automatically generate sssd.conf

The original instructions work only for for Ubuntu 17+ as posted here: https://bugs.launchpad.net/ubuntu/+source/sssd/+bug/1691726
You are required to make your own conf file before installing the sssd dependencies, otherwise sssd will fail on installation.

closed and reopened for testing

@jessawong : Thanks for your contribution to the Azure documentation! The author, @mahesh-unnikrishnan, has been notified to review your proposed change.

@mahesh-unnikrishnan bumping to review the proposed changes to this article.

@jessawong Please review the changes @mahesh-unnikrishnan suggested in an earlier comment, add them to your PR, and resubmit. Thanks

@mahesh-unnikrishnan and @eringreenlee - if you want these changes, please sign-off. If there are further changes you'd like to make, you can make additional edits in the private repo before it gets published.

Closing per email from Angela


<label type="heading"> should not appear in modern texts, and should not be styled

Right now, <label type="heading"> is used as a replacement for <head> in semi-dip texts; when this happens, it inherits styling from the SCSS around line 1760 which among other things upper-cases it, which is clearly wrong. At the same time, there are a few stray usages of this in modern texts, where it actually should be a <head> or <trailer>. So @Navarra-Houldin  and I suggest:

Fix all instances in modern texts (//TEI[descendant::catRef[contains(@target, 'odern')]][descendant::label[@type='heading']]).
Update the SCSS to remove all styling; that should be done with <rendition> elements, presumably, and will be different across texts.

The usage of <label> is rather backwards: we tend to use plain <label>  (without @type) in modernized texts for headings, and we use <label type="heading"> in semi-dip texts where we're in theory trying to avoid categorizing this as e.g. headings. ??? We need revisit this.

Reassigning to @LEMDO-PM to make sure we revisit this issue soon.

I believe this is release-blocking because it causes a misrepresentation of the typographical appearance of headings in semi-dip texts.

@JanelleJenstad @LEMDO-PM Since there's a release coming up, I think we should address this.

It's on the list for DRE pre-freeze. I expect to get to this one around mid-November.

@JanelleJenstad and I took a look and have decided that if something is typographically set as a heading it's fine to make the claim that it is a heading. It's no different than encoding a speech prefix as  a <speaker>


Can we define the layout to be used by pdftotext while converting the pdf to text file?

If i use normal pdftotext it has a option "-simple" using which i can convert a pdf assuming it as a single column pdf. But if I use invoice2data then it converts the pdf by assuming it to be multiple colums. Is there any option for this?
Basically I am looking for below statements equivalent in invoice2data:
pdftotext -simple file.pdf

You can add a new argument to the pdf2text wrapper here.

I found this to be a problem for me as well pdftotext conversion currently hardcodes -layout as the conversion method, in some cases, I find -table to be better suited for the conversion...
I can submit a PR to add in a layout parameter which can then get passed to the to_text functions in each of the .input modules... Should I?

Yes. Always useful to have it as option. Just keep the current setting as default.

The problem I see is that poppler's pdftotext doesn't support -simple or -table. Support for those layouts was developed in Xpdf after it has been forked by the poppler project.
Today most Linux distributions switched to poppler for providing pdftotext and similar tools. Ideally support for those extra layouts should be ported from Xpdf to poppler but that seems like a huge task. I created request issue in poppler project to see if there is any idea/interest around that: https://gitlab.freedesktop.org/poppler/poppler/-/issues/1419


Auto migration when application startup

class User {
  int? age;
  String? name;
}

class Todo {
  int? order;
}

main() {
  var migrationRunner = PostgresMigrationRunner(
    PostgreSQLConnection('<IP_ADDRESS>', 5432, 'test'),
    migrations: [
      User, // no need UserMigration()
      Todo, // no need TodoMigration()
    ],
  );
}

When class add, delete or modify some fields, angel can auto alter table when start main function every time, like https://gorm.io/docs/.

Have you taken a look at the angel3_orm package?
Can refer to the following use cases on how to use:
Project template at https://github.com/dukefirehawk/boilerplates/tree/angel3-orm
Application example at https://github.com/dart-backend/belatuk-examples/tree/master/dchan

I mean also support runtime reflection, we prefer use reflection rather than build-runner if it's not a flutter project, thanks!

Currently, dart do not have a good library to support runtime reflection. Although dart:mirrors can do basic reflection but its use is not recommended as it will be deprecated in the future. The current recommended way is using 'pkg:reflectable` which is build_runner based reflection. Without runtime reflection library, this feature would be tough to implement.

I think write alter migrations manually is better for both version control and multiple deploy environments.
Also for dart:mirrors will avoid aot compile, that's why  I don't like reflection

Agree. Automatically changing database schema is never a good idea for production. Even for development, it is rarely used. Something like Flyway would be a lot better for keeping track of database migration versions.

I think write alter migrations manually is better for both version control and multiple deploy environments. Also for dart:mirrors will avoid aot compile, that's why I don't like reflection

+1
It is dangerous.


Enhancement: Update squizlabs/php_codesniffer

This PR

[x] updates squizlabs/php_codesniffer
[x] runs make fix

💁♂ For reference, see https://github.com/squizlabs/PHP_CodeSniffer/compare/2.9.2...3.5.4

Thank you, @pimjansen!


[Regression]Unable to install a new jumpstart HCIBox

Note: For ease of issues and pull requests management and tracking, we kindly ask you to provide a meaningful and concise title to this issue and answer all questions to the best of your ability.

Is your issue related to a Jumpstart scenario, ArcBox, HCIBox, or Agora?
Jumpstart HCIBox
Describe the issue or the bug
We are unable to install the new jumstart hcibox due to the below error in postdeployment steps.

To Reproduce
We followed the same steps to deploy a new jumpstart HCIBox in the below document. This was working before but recently it started failing. The step is Deploy cluster in Azure portal in the below documentation.
https://azurearcjumpstart.io/azure_jumpstart_hcibox/cloud_deployment
Expected behavior
Complete post deployment steps succesfully.
Environment summary
Latest tools
Have you looked at the Troubleshooting and Logs section?
Screenshots

Additional context

This looks like an issue retrieving a secret from keyvault. Did you confirm that permissions on the keyvault are correct as per the prerequisites?

Thanks Dale.
I have added the required pre-requisite permissions Key Vault Administrator and Storage Account Contributor as below but still facing the error

Hi @ajaysubramanya86 I have just deployed a fresh HCIBox with AKS cluster and all succeeded as expected.
What happens when you try to "resume deployment" from portal? Do you get the same error?
If you navigate to the keyvault, are you able to see the LocalAdminCredential secret in the keyvault?

@dkirby-ms I am also facing this same issue. "resume deployment" is resulting in same error.
And Yes, when i navigate to key vault i could see the LocalAdminCredential secret.
Where can i find logs to get more details about the error?

@dkirby-ms after a closer look at exception, i think somewhere the secret name it is trying to fetch is getting modified. For example: The secret name in vault is LocalAdminCredential and as shown in the exception it is trying to fetch hciboxcluster-LocalAdminCredential- . It is trying to fetch secret as hciboxcluster-${actualSecretName}- .
This is the same case for all secrets in vault, not sure where is it getting modified.
After modifying secrets to new name format & redeploy it has continued with deployment, any idea where this transformation might be happening.

HCIBox itself does not touch or modify anything regarding the secrets in the vault. The vault creation, secrets creation/naming are all handled as part of the Azure Stack HCI cloud deployment process. Renaming the secrets is not part of normal operation or deployment. HCIBox is not modifying the secrets in any way.
I am running yet another deployment this morning and I will check the names of the secrets to see if I notice any changes or anomalies.
Please let me know how the deployment retry proceeds and we can keep this thread updated.

One thing that comes to mind is that keyvaults are not permanently deleted unless explictly purged. I am wondering if somehow we are reusing an old keyvault in your HCIBox deployment rather than creating a fresh one at deploy time.
If you can create a fresh new HCIBox environment and be sure you have purged/perma-deleted all previous HCIBox keyvaults that would be one thing to review.

Azure Stack HCI cloud deployment process got completed successfully. Will try to configure AKS and test.
The issue is not with secrets in vault, they are as expected. The issues is with secret names used to fetch during deployment.
Eg: In this exception Exception
One or more errors occurred. at: at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at Microsoft.AzureStack.Solution.Deploy.LCMController.ArcCommunication.ActionPlanController.ExecuteRequest(Request request) Base Exception: Failed to fetch secret LocalAdminCredential from key vault. Ex:Could not make the secret fetch call for https://hcibox-kv-86ac1.vault.azure.net/secrets/hciboxcluster-LocalAdminCredential-?
The secret name being fetched is hciboxcluster-LocalAdminCredential- where as the secret in vault is LocalAdminCredential

I've now reproduced the issue also. This is something upstream happening with a change to the LCM process. I will continue to investigate if there is something we can do on the HCIBox side to mitigate it.

Azure Stack HCI cloud deployment process got completed successfully. Will try to configure AKS and test.
The issue is not with secrets in vault, they are as expected. The issues is with secret names used to fetch during deployment.
Eg: In this exception Exception One or more errors occurred. at: at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at Microsoft.AzureStack.Solution.Deploy.LCMController.ArcCommunication.ActionPlanController.ExecuteRequest(Request request) Base Exception: Failed to fetch secret LocalAdminCredential from key vault. Ex:Could not make the secret fetch call for https://hcibox-kv-86ac1.vault.azure.net/secrets/hciboxcluster-LocalAdminCredential-?
The secret name being fetched is hciboxcluster-LocalAdminCredential- where as the secret in vault is LocalAdminCredential

I tried to "Try again" several times and noticed that the secret name attempting to be feteched was initially LocalAdminCredential, which was present in my vault yet the error still happened. On a subsequent "Try again" the name was now hciboxcluster-LocalAdminCredential which was not present.

This is caused by a change to the RP which no longer works with the old version we are using. The fix is submitted and being tested now.


Parallel versions for constructor methods

I added straightforward parallel versions of all methods creating iterators of PDBs, Models, Chains, Residues, Conformers and Atoms using rayon. I also added some for counting of sub-structs and removing sub-structs by ID or name.
For some kinds of methods no parallel versions were written because it's not straightforward or I judged it to be pointless.
Examples for the former would be methods like atom, residue etc. because they make use of the nth iterator method which does not exist as such in parallel iterators. This would require implemented indexed parallel iterators (or some such) and I'm not quite convinced this is worth the effort.
Also methods like remove_atoms_by have no parallel version as of yet because the sharing of predicates between threads seems unsafe and I'm not sure how to circumvent this.
If more work is necessary on my part, please give the word.

Great work! I removed the parallel rtree implementations, because they are squashed into a Vec anyways before generating the tree so parallizing the vec generation would have no great benefit (if you feel differently feel free to provide some tests). Otherwise I updated some names to reflect the name change of AtomWithHierarchy and updated the docs to include an example with the parallel iterators.


Questions about pl::ExprKind

What's the difference between a Tuple and an Array? Both variants contain Vec<Expr>. The book doesn't mention either tuples or arrays ... just lists.

What's an RqOperator? Is it always a function from the standard library? How is the Internal variant related to this?

Recently, we've formalized this distinction between tuple and array and changed syntax a bit.   That's why the docs don't reflect the change yet.
In short, tuple can contain different types in each field, but must have fixed number of fields (known at compile time). Array must have all items of the same type, but can have varying number of items. You can read more about that here: https://github.com/PRQL/prql/blob/main/web/book/src/compiler/internals/type-system.md#container-types

RqOperator is a PL expr kind, that is later compiled to rq::ExprKind::Operator. All functions, binary operators, unary operators and f-strings are compiled to RqOperators, with intention of limiting the complexity of the RQ. They are then implemented for SQL in std.sql.prql.
Internal is trick to trigger some special compiler behavior - some kind of a keyword that allows the compiler to treat some functions differently. The rule is that if the internal id starts with "std.", it will compile directly to RqOperator. Otherwise there are custom compiler implmentations in transforms.rs. This is obviously not part of the public interface.

Hello @not-my-profile - It's good to see your thoughts about PRQL. @aljazerzen wrote:

Recently, we've formalized this distinction between tuple and array and changed syntax a bit. That's why the docs don't reflect the change yet.

This remind me - do we need a new page in the Book (perhaps near 4.2 Tuples) that describes Arrays? Perhaps that page becomes "Tuples and Arrays"...


The new code base blows up the context window with input

Hey @jeffmeloy  I get OOM with the new code:
def get_response_from_llm(self, query: str, context: str) -> str:
        """
        Get language model response to query for given context.
        Args:
            query (str): The query to be used for generating the response.
            context (str): The context to be used for generating the response.
        Returns:
            str: The generated response.
        """
        # Update the context with the selected instructions from the instruct_list
        excluded_instructions = ["What is the call code graph", "What is the docstring"]
        filtered_instruct_list = [
            item
            for item in self.instruct_list
            if not any(
                item["instruction"].startswith(prefix)
                for prefix in excluded_instructions
            )
        ]
        past_instructs = "\n".join(
            [
                f"Instruction: {item['instruction']} \nOutput: {item['output']}"
                for item in filtered_instruct_list
            ]
        )
        full_context = (
            context
            + "\n"
            + "Here's some detail about this code:"
            + "\n"
            + past_instructs
        )

It blows up the context window and creates OOM for the input of the LLM.

the new version adds additional context from the AST, which helps the LLM give better answers, but does require more memory. Can you try this making this change to see if this helps?  If so, I can add a command line arg to prevent adding context.
NEW version:
def get_response_from_llm(self, query: str, context: str) -> str:
"""
Get language model response to query for given context.
Args:
query (str): The query to be used for generating the response.
context (str): The context to be used for generating the response.
Returns:
str: The generated response.
"""
    try:
        prompt = self.prompt.format(context=context, query=query)
        logging.info(f'Query: {query}')
        response = self.llm(prompt)
        response = re.sub(r'\n\s*\n', '\n\n', response) # remove extra newlines
        logging.info(f'Response: {response}')
    except:
        logger.error('Failed to generate model response')
    return response

The context being added should not be that much, but I've cranked up the context window based on the HW I'm using to be able to process larger Python code files....this is the most likely problem.
Recommend primary change needed will be to adjust the py2dataset_model_config.yaml parameters to work with your HW and model/model size.

Thanks @jeffmeloy,
Yes, I do not know what to say, I am just ingesting python code base as you would in your example of this repo.
In the code above I think you want to have:
    try:
        prompt = self.prompt.format(context=context, query=query)
        logging.info(f'Query: {query}')
        prompt = re.sub(r'\n\s*\n', '\n\n', prompt) # <--remove extra newlines in prompt
        response = self.llm(prompt)
        logging.info(f'Response: {response}')
    except:
        logger.error('Failed to generate model response')
    return response

I have this in my YAML:
  model_params:
    ## USABLE OUTPUT WITH CURRENT PROMPT TEMPLATE
    model_path: "TheBloke/WizardCoder-Python-13B-V1.0-GGUF"
    model_file: "wizardcoder-python-13b-v1.0.Q5_K_S.gguf"
    model_type: "llama"
    batch_size: 256
    threads: 28
    context_length: 8400
    max_new_tokens: 8092
    gpu_layers: 100
    reset: true

I am trying to use CUDA but it still yields this warning even when I trim things down:
2023-10-04 09:02:22,175 - WARNING - Number of tokens (35928) exceeded maximum context length (8400).

I did try just using the prompt without the past_instructs but it still seems way too much for some reason.
Thoughts?

What is the file size you are trying to use?
On Wed, Oct 4, 2023, 10:23 Adam Klein @.***> wrote:

Thanks @jeffmeloy https://github.com/jeffmeloy,
Yes, I do not know what to say, I am just ingesting python code base as
you would in your example of this repo.
In the code above I think you want to have:
try:
    prompt = self.prompt.format(context=context, query=query)
    logging.info(f'Query: {query}')
    prompt = re.sub(r'\n\s*\n', '\n\n', prompt) # <--remove extra newlines in prompt
    response = self.llm(prompt)
    logging.info(f'Response: {response}')
except:
    logger.error('Failed to generate model response')
return response

I have this in my YAML:
model_params:
## USABLE OUTPUT WITH CURRENT PROMPT TEMPLATE
model_path: "TheBloke/WizardCoder-Python-13B-V1.0-GGUF"
model_file: "wizardcoder-python-13b-v1.0.Q5_K_S.gguf"
model_type: "llama"
batch_size: 256
threads: 28
context_length: 8400
max_new_tokens: 8092
gpu_layers: 100
reset: true
I am trying to use CUDA but it still yields this warning even when I trim
things down:
2023-10-04 09:02:22,175 - WARNING - Number of tokens (35928) exceeded maximum context length (8400).
I did try just using the prompt without the past_instructs but it still
seems way too much for some reason.
Thoughts?
—
Reply to this email directly, view it on GitHub
https://github.com/jeffmeloy/py2dataset/issues/9#issuecomment-1746965279,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6XBG5HAH757FRC4ZZZXWDLX5VWN7AVCNFSM6AAAAAA5RQR7XSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONBWHE3DKMRXHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

hey @jeffmeloy !
The file size ranges to be 60942 to 221321.

Got it.....the large file size is reason for you're error. I've done some
experiments to define some chunking to allow LLm to process large code
files like this and then put it all back together. Give me a few days.
I wanted to add some code from here into my datasets anyway but the files
were too large, this give me a good excuse to work on it:
https://github.com/python-control/python-control.
On Wed, Oct 4, 2023, 14:29 Adam Klein @.***> wrote:

hey @jeffmeloy https://github.com/jeffmeloy !
The file size ranges to be 60942 to 221321 bytes
—
Reply to this email directly, view it on GitHub
https://github.com/jeffmeloy/py2dataset/issues/9#issuecomment-1747427453,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6XBG5GIATJCAV4KZY35RM3X5WTIXAVCNFSM6AAAAAA5RQR7XSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONBXGQZDONBVGM
.
You are receiving this because you were mentioned.Message ID:
@.***>

@jeffmeloy - ok this looks quite interesting project.
BTW, I am looking at this code base to figure out how to do FIM to build fine tuning for code infilling:
https://github.com/microsoft/CodeT/tree/main/RepoCoder
And this starcoder example has some interesting nuggets for generating FIM on existing code:
https://github.com/loubnabnl/santacoder-finetuning
those 🤗 are smart people.

I've created an update that determines the context and then iterativly uses smaller and smaller context for the LLM. In sequence:

full source code + the questions and answers about the code
source code with all comments and docstrings removed + the questions and answers about the code
the function, class, method definitions, calls, and returns + the questions and answers about the code
the questions and answers about the code
If context still too long then give up, output a warning about required context_length in the py2dataset_model_config.yaml and go on to the next file.


Transitions Using Storyboard

If i want to use a different transition using storyboard and segues, how and where would I specify that in the code? If its even possible?
Thank you!

In prepareForSegue method


Consolidate bootstrap SQL scripts to 0.00-19.10.sql

Rationale
Fewer scripts be more manageable. And good riddance, old chart view migration, sample set materialization, and external script engine java upgrade code.

@cnathe Your review of my removal of the old chart view classes / code would be appreciated. Did I miss anything or go too far?

@cnathe Your review of my removal of the old chart view classes / code would be appreciated. Did I miss anything or go too far?

@labkey-adam This all looks good to me regarding the chart view code clean-up. I don't know of missing removals off the top of my head but will keep an eye out.


Update pin for PyTorch upstream

Fixes #1577.

inductor/test_triton_kernels.py is green: https://github.com/intel/intel-xpu-backend-for-triton/actions/runs/9844075135
inductor/*test* is red: https://github.com/intel/intel-xpu-backend-for-triton/actions/runs/9842953944

Looks like the current failures are cuda related
    raise AssertionError("Torch not compiled with CUDA enabled") AssertionError: Torch not compiled with CUDA enabled

Looks like the current failures are cuda related  raise AssertionError("Torch not compiled with CUDA enabled") AssertionError: Torch not compiled with CUDA enabled

Yeah, I have updated the workflow to run only inductor/test_triton_kernels.py by default.


Add OpenStack Metrics scaler

Provide a description of what has been changed
Signed-off-by: rodolfodc<EMAIL_ADDRESS>Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)
[x] Tests have been added
[x] A PR is opened to update the documentation on (https://github.com/kedacore/keda-docs/pull/409)
[x] Changelog has been updated

Related to #1382

Have you been thinking about adding e2e test for this scaler?

Hi @zroubalik, yes! I'm working within @pdominguite, I'm gonna start working on mine soon.


Feature/2017 06 05/optional sqlite support

A continuation on https://github.com/jordanstreiff/atlanta-candidate-api/pull/6
While I understand maintaining parity for dev/prod, many would probably like to just hit the ground running to poke around a bit, so why not offer optional SQLite support?

Like the compromise - thanks!

Allright!


chore: make Url in request config mandatory

Relates https://github.com/SAP/cloud-sdk-backlog/issues/958
In executeHttpRequest function, the url property of requestConfig is optional. That means a user can make the following call (skipping the requestConfig url):
await executeHttpRequest(destination!, { method: 'post', data: {} });
But, will get the error when making Csrf token fetch request`:
TypeError: Cannot read properties of undefined (reading 'endsWith')
    at appendSlash (node_modules/sap-cloud-sdk-http-client-canary/src/csrf-token-header.ts:129:27)
    at makeCsrfRequest (node_modules/sap-cloud-sdk-http-client-canary/src/csrf-token-header.ts:85:42)
    at buildCsrfHeaders (node_modules/sap-cloud-sdk-http-client-canary/src/csrf-token-header.ts:35:29)
    at getCsrfHeaders (node_modules/sap-cloud-sdk-http-client-canary/src/http-client.ts:531:23)
    at addCsrfTokenToHeader (node_modules/sap-cloud-sdk-http-client-canary/src/http-client.ts:549:13)
    at node_modules/sap-cloud-sdk-http-client-canary/src/http-client.ts:123:29

One way to fix this would be add a check in appendSlash method where if the requestConfig url is empty, we use the destination url instead.
However, this might not be a good practice as the destination url should ideally not include the service url. Even in the odata/openapi clients, the url (relativeUrl) is passed in the requestConfig to the executeHttpRequest method.
This PR makes the url property in the HttpRequestConfigBase mandatory. This will be a breaking change in v3. This hasn't been reported yet by users in v2, so the assumption is that they invoke the executeHttpRequest function with destination url and serviceUrl correctly.

I would just touch this line and return '/', if the url is missing.

I would just touch this line and return '/', if the url is missing.

This would mean that the call is made against 'only' the destination url (as no service url is available). I tested this case with CCT (fetching csrf token), and got a 405 Method Not Allowed error.
So we will avoid the TypeError but the overall request will still fail

@deekshas8 we had a discussion and I did not have the GET case on the radar which has the same options, but there is no error is the URL is left. We decided to make the full options object optional i.e. we have a default GET for method and handle the missing URL gracefully. Either with / as default value or using the baseURL is URL is not set.


[firebase_messaging] Background messages not delivered in versions newer than 6.0.3

Describe the bug
When upgrading from version 6.0.3 of firebase_messaging our onBackgroundMessage handler is no longer called. Instead the following error is printed to the Android log:
I/flutter (20210): Unable to handle incoming background message.
I/flutter (20210): NoSuchMethodError: The method 'call' was called on null.
I/flutter (20210): Receiver: null
I/flutter (20210): Tried calling: call(_LinkedHashMap len:1)

This occurs even if my handler is just a simple print statement, thus the null.call(...) doesn't happen in my handler.
Here is where the error is logged from:
https://github.com/FirebaseExtended/flutterfire/blob/547674c8b550a0b14ff442a3bd6a2663c6dc7680/packages/firebase_messaging/lib/firebase_messaging.dart#L37-L43
To Reproduce
Steps to reproduce the behavior:

Add firebase_messaging version 6.0.3
Add a background handler that prints something to the log
See that the message is received
Upgrade to the latest firebase_messaging version
See that the message is no longer received

Expected behavior
The message should be received with both versions.
Additional context
n/a

Hi @LinusU
can you please provide your  your flutter doctor -v,
your pubspec.yaml
and your flutter run --verbose?
Thank you

From a discussion in our team chat: this is likely caused by a bug in how we added Android v2 embedding support. See also flutter/flutter#47406, which is showing similar symptoms when running in the background because of a change in the v2 embedding.
/cc @bparrishMines

Hi @mklim any update for this issue? cause i can't see notification in background untill now.
@LinusU do you have a solution? i need your help for this issue

I am also faced this issue after upgrade .. Please register the plugin like below in Application class for android. Now it's working for me
import io.flutter.app.FlutterApplication
import io.flutter.plugin.common.PluginRegistry
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback
import io.flutter.plugins.GeneratedPluginRegistrant
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService
class Application : FlutterApplication(), PluginRegistrantCallback {
override fun onCreate() {
super.onCreate()
FlutterFirebaseMessagingService.setPluginRegistrant(this)
}
override fun registerWith(registry: PluginRegistry) {
   // GeneratedPluginRegistrant.registerWith(registry);
    io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
    io.flutter.plugins.pathprovider.PathProviderPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.pathprovider.PathProviderPlugin"));
    com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin.registerWith(registry?.registrarFor("com.dexterous.flutterlocalnotifications.FlutterLocalNotificationsPlugin"));       // registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin");
    fr.g123k.flutterappbadger.FlutterAppBadgerPlugin.registerWith(registry?.registrarFor("fr.g123k.flutterappbadger.FlutterAppBadgerPlugin"));
}

}

Need add below lines
io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin.registerWith(registry?.registrarFor("io.flutter.plugins.firebasemessaging.FirebaseMessagingPlugin"));
instead of
GeneratedPluginRegistrant.registerWith(registry);

Any solutions?

Also can you please expound on the background handler? How are you logging a backgrounded application?

Note that the comments in this thread shows two different things, one is a user error, the other is a bug:

The documentation documents that you need to include click_action=FLUTTER_NOTIFICATION_CLICK in the message, also elsewhere (not able to find it now), it is documented that only data messages can be sent to backgrounded applications. If you thus use curl as described to send a message, but REMOVES the notification part of the message (i.e. DATA='{"data": {"click_action": "FLUTTER_NOTIFICATION_CLICK", "id": "1", "status": "done"}, "to": "<token>"}'), you will be able to send a message that is received, however...
Issue 2 is a bug (a similar issues with alarms is referred above) where the the LinkedMap of callbacks is not initialised. This issue title refers to >6.0.3 as the breaking point, however, I see the same error message with firebase_messaging=6.0.2

Hey all 👋
As part of our roadmap (#2582) we've just shipped a complete rework of the firebase_messaging plugin that aims to solve this and many other issues.
If you can, please try out the dev release (see the migration guide for upgrading and for changes) and if you have any feedback then join in the discussion here.
Given the scope of the rework I'm going to go ahead and close this issue in favor of trying out the latest plugin.
Thanks everyone.


WIP: Upgrade @patternfly/react-console to the latest

Upgrade npm dependency to get latest changes in pf-react consoles.
Issues of upgrade:
pf-react changed structure of dist modules (https://github.com/patternfly/patternfly-react/commit/1f3411a6e708e833e48921380ae736cf5f79862b).
References need to be fixed in pf-raect first: https://github.com/patternfly/patternfly-react/pull/894
Example:
in 1.4.6: import { EmptyState, Button, noop } from 'patternfly-react';
in 1.5.6: import noop from 'patternfly-react/dist/esm/components/noop/noop';
in sources: import { EmptyState, Button, noop } from 'patternfly-react';

This PR is blocked by issues in pf-react

pf-react patches were merged so updateing versions here


Add Front End Dev-focused questions and answers

Check out the decks of Q&A cards here  . What are we missing?
Create a new deck and add questions and answers that might test core Front End concepts and mimic questions that might be asked in phone screens. Should be concise enough to fit into 1-2 sentences. Fill in here  and submit pull request.
Example of question types / length

I added some questions for https://github.com/papistan/FrontEndTrivia/pull/115
Please feel free to remove any you think don't fit what you were looking for.
I also used the W3C logo for the image for the deck, but also feel free to change that if desired.
Thanks!

I have merged in @Maowse 's new deck of general front end related questions. If others think of additional ones or new decks we need, feel free to make a pr. Thanks


lib/core: Renamed Text::bytelen to Text::byte_length

As one famous man once said: "Je vous ai compris!".
So, I understood that some of us (@xymus, @ppepos, @BlackMinou, etc.) did not like the bytelen name, since it was not that explicit.
Well, its days are numbered and it is replaced by the longer but more explicit byte_length.

inc eax
ret

+1

+1 !

:shipit: +1


Test suits dependencies block fails when adding a platform defined in Version Catalog

Expected Behavior
Using libraries defined in the version catalog can be used as platforms in the dependencies block of Test Suits.
testing.suites {
    val test by getting(JvmTestSuite::class) {
        useJUnitJupiter()
        dependencies {
            implementation(platform(libs.junit.bom))
        }
    }
}

Current Behavior
The build fails with an error:
Could not determine the dependencies of task ':test'.
Could not resolve all dependencies for configuration ':testRuntimeClasspath'.
> Minimal dependencies are immutable.

Context (optional)
No response
Steps to Reproduce
Reproducer project: https://github.com/alllex/gradle-repro-test-suits-with-platform-deps/tree/kotlin-dsl
Gradle version
8.3-rc-1
Build scan URL (optional)
https://scans.gradle.com/s/mfnrzmq52xym4
Your Environment (optional)
No response

I ran into this myself, just a note for the given example is that you should use useJUnitJupiter(libs.versions.junit5) to manage the jupiter version. However, the problem persists for other platforms.


Subtest support

Hi,
I've tried utap with the describe/it syntax, but unfortunately this is how it displays a failure:
  ❌ /mnt/e/dev/js/nlon/test/server.test.mjs
          duration_ms: 356.7718
          failureType: 'subtestsFailed'
          exitCode: 1
          error: 'test failed'
          code: 'ERR_TEST_FAILURE'

While it displays the file itself, the subtests are missing. For reference, here's a test to show what I'm running utap against.
tl;dr: Please add subtest support, thanks a lot in advance!

Added support in commit 6f72c9d (v0.2.0)


Add codeword highlighting

About the PR

Makes any role that has codewords (Traitor and midround Traitor) show assigned codewords as highlighted in chat/voice bubbles.
Why / Balance

Highly requested feature that helps Syndicates collaborate more by better conveying when a codeword is used, and reduces the number of things an agent needs to keep in their head at all times.
Technical details

This works by injecting a [color] tag around any instance of the codeword in chat messages.
As codewords were previously not sent to the client, they now are. A network event is raised when the traitor role is given directed only at the role owner's client; this event provides a clientside-only component that gets filled with the codewords. This should keep the system from being exploited by hacked clients reading the entity components to learn codewords/who is a traitor.
Known issues:
Since the chat code doesn't make any distinction for what is the actual spoken message and what is chat metadata (like channel or character names), any instance of codewords in a chat message gets highlighted. If the codeword is "Lint", someone named "Clint" will have their name highlighted every time they speak. Because of this, certain words (like "supply") have been removed from the codeword list.
PR author believes this will be uncommon enough that the feature is worth implementing with the bug, and can be fixed in a future chat refactor.
It also highlights emoted words, but that can be seen as a benefit as an emoteable codeword like "knock" can be used to communicate in an interesting manner (e.g. "John Syndicate knocks on the table").
Media

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

add: Codewords are now highlighted for traitors.

Does this highlight words spoken over the announcement console or emotes? I could see a traitor sneaking to the announcement console grab everyone who could be a syndies attention. And of course mime should not be code-wording in emote chat.

honestly pretty dope wtf

so real. merge now

Does this highlight words spoken over the announcement console or emotes? I could see a traitor sneaking to the announcement console grab everyone who could be a syndies attention. And of course mime should not be code-wording in emote chat.

Yes.

I think highlighting emotes is a fun addition, even if it's unintended behavior. If the codeword is "glance", having a mime walk up to you and go "Mime McUrists glances at you nervously" sounds like an interesting way to express a codeword (and nothing is stopping a mime from doing that without the word being highlighted anyways).

Also, to clarify; there is no check for whether the person speaking the line is a traitor. This highlights any instance of the codeword to make it easier for you to notice and that's all. You will still have to make a judgement call on whether the tider talking about "drip" is using it as a codeword, or if they're just coincidentally saying it.

I'm glad it works on emotes, what with keywords like bow which can be interpreted as the gift decoration OR the gesture itself.

This is great. Now traitors won't need to keep a mental note of different codewords every round. The less players are relying on memory the smoother the gameplay will be.

If the codeword is "Lint", someone named "Clint" will have their name highlighted

To prevent this my first thought would be to use the first "," in a chat message as a delimiter and keep everything before it unhighlighted, but you probably already thought of that.

If the codeword is "Lint", someone named "Clint" will have their name highlighted

To prevent this my first thought would be to use the first "," in a chat message as a delimiter and keep everything before it unhighlighted, but then you would have to do that just for chat because it would break announcements.

It's not an impossible thing to fix but it ends up being checking edgecase after edgecase when the real answer is to just refactor chat. But that is a lot of work, so keeping this implementation lightweight will make it much easier to port it to a refactored system whenever that happens.

If merged, this will close #27502 and #17790.

hOLY SHIIIT thats a QoL PR, because most antag are dumb and cant communicate
FINALLY ANTAGIUM
hope traitor flavor will be made next :trollface: w

Would be cool if players could add their own words to highlight.

Would be cool if players could add their own words to highlight.

I second this notion as I've found this type of feature useful in SS13. I believe it would be a marvelous addition to SS14 and allow players to better react to chat in cases such as people calling for your department.

New color which is a bit lighter but not eye-bleeding red.

this looks awesome

I'd like to mention that because of chat system issues (as author mentioned) words would most likely get highlighted where they clearly not supposed to, such as OOC, LOOC, etc.
Kinda lazy to test it out, but from brief look, code doesn't include any regex or something like that, so I suppose that's the case here since its not first time ppl tried to implement this feature.
Personally I'm okay with it tho, not a big deal

It shouldn't be an issue to have a regex check in the tag injection function to ensure no word between [brackets] are swapped out. It is ultimately a band-aid fix and as noted in my response to Emo's review the real answer would be an extensive chat metadata system refactor.
Now I just need to figure out the regex...

For your information:

You may also want to consider filtering out OOC/LOOC/names/channels in that "regex" part of logic, should be doable, but most likely hacky.
Also beware that depending on where/how regex processes, some trickery bugs may happen on weird player messages, which is something you want to avoid.
Sadly, I can't recall exactly these cases, but it was something like player spelling out brackets and they get processed by regex

Hopefully these won't occur badly. Good luck!

You may also want to consider filtering out OOC/LOOC/names/channels in that "regex" part of logic, should be doable, but most likely hacky.
Also beware that depending on where/how regex processes, some trickery bugs may/may not happen on weird player messages, which is something you maybe want to avoid (these even beyond edgecases, but its better to be aware of em if they do happen).

I do not want to implement fixes for all edgecases where it isn't absolutely necessary; highlighting names and LOOC is ultimately just a minor visual bug and trying for control for them could either be smelly code or errorprone in its own right.
A faulty tag could cause some more breaking issues however, so that should be checked for.
Again, the real solution is to do a larger refactor of chat (the only reason this PR wasn't made half a year ago is because I held off due to a chat refactor that got cancelled), but pending that weeks-long project this PR should suffice.

And before I get told "just do the [weeks long, complicated] chat refactor instead then": this PR would be reusable in that new system, you'd only have to transfer over 2 lines of code.

Added a regex thing to exclude anything in brackets. This was intended to solve injecting tags inside other tags (which would break them) but turns out that since channel names are also in brackets, those codewords can stay too:

Technically this also means that if you write "Oh hello [there] buddy", the "there" would not be highlighted. But that would be a very, very unusual situation in normal gameplay. Unfortunately "whisper" will still have to be removed from codewords since that is not inside brackets.
Again, real solution would be a chat refactor, but this solution should keep the PR from breaking anything.

Would it be possible to implement the highlighting of custom keywords too? As others already said, users could input in their department, name, or profession, which could greatly benefit keeping track of all messages on comms. I made a visual representation to explain myself better:

Would it be possible to implement the highlighting of custom keywords too? As others already said, users could input in their department, name, or profession, which could greatly benefit keeping track of all messages on comms. I made a visual representation to explain myself better: [image]

The tag injection system this PR added could be used for this, but I don't have any intention to support it out of the gate with this PR due to the added complexity.

this is my dream PR man the amount of times i say codewords on repeat to blatant syndies and they just don't get it is wild

Hello! The PR was put up to a maintainer vote which concluded with the following result: Merge.
Maintainers like the concept and feel it's beneficial, but there were reservations around the color injection. This would ideally be solved via a chat refactor, but pending that, maintainers feel this solution is good enough to merge as-is.

sigmaballs


Connection issues after running for awhile

First of all, thanks for a nice project!
I can connect and run without a problem when testing, but after running for a while, I start to get issues with connections.
I get errors like:
RemoteDisconnected('Remote end closed connection without response')
ConnectionResetError(104, 'Connection reset by peer'))
(these errors I enabled to see the responce in the package itself)
Has anyone else experienced this?
My code looks something like this:

class TpPlugController():
    """ used for P110 plugs

    """
    def __init__(self, plug_name):

        if plug_name not in tpplugs:
            raise ValueError('not a correct plug name')
        self.plug_name = plug_name
        self._plug = PyP110.P110(tpplugs[plug_name], "some_email", tp_pass)
        self._plug.handshake()
        self._plug.login()
        self._max_tries = 3
    def turn_on(self):
        keep_running = True
        counter = 0
        while keep_running and counter < self._max_tries:
            try:
                if not self._plug.getDeviceInfo()['result']['device_on']:
                    self._plug.turnOn()
                    keep_running = False
                break
            except Exception as e:
                print(self.plug_name, ' something went wrong')
                counter += 1

Added the loop in order to try again, it works sometimes but not far from always.
Next step for me is to try to destroy self._plug each time but that shouldn't be needed.

For future reference, this is finally how I solved it to make it stable and fast.

class TpPlugController():
    """ used for P110 plugs

    """
    def __init__(self, plug_name):

        if plug_name not in tpplugs:
            raise ValueError('not a correct plug name')
        self.plug_name = plug_name
        self.email =<EMAIL_ADDRESS>
        self._max_tries = 3
        self.setup_plug()
    def setup_plug(self):
        tries = 0
        while tries < 3:
            try:
                self._plug = PyP110.P110(tpplugs[self.plug_name], self.email, tp_pass)
                self._plug.handshake()
                self._plug.login()
                break
            except Exception as e:
                print(self.plug_name, e)
                tries +=1
    def turn_on(self):
        keep_running = True
        counter = 0

        while keep_running and counter < self._max_tries:
            try:
                if not self._plug.getDeviceInfo()['result']['device_on']:
                    self._plug.turnOn()
                    keep_running = False
                break
            except Exception as e:
                print(self.plug_name, ' something went wrong')
                print(e)
                self.setup_plug()
                counter += 1


fix(data): update validateEvent topic check

update to align with new internal topics naming

If your build fails  due to your commit message not passing the build checks, please review the guidelines here: https://github.com/edgexfoundry/edgex-go/blob/main/.github/Contributing.md
PR Checklist
Please check if your PR fulfills the following requirements:

[x] I am not introducing a breaking change (if you are, flag in conventional commit message with BREAKING CHANGE: describing the break)
[x] I am not introducing a new dependency (add notes below if you are)
[ ] I have added unit tests for the new feature or bug fix (if not, why?)
[ ] I have fully tested (add details below) this the new feature or bug fix (if not, why?)
[ ] I have opened a PR for the related docs change (if not, why?)

Testing Instructions

New Dependency Instructions (If applicable)

Codecov Report

Merging #4402 (510db3e) into main (0ed1034) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##             main    #4402   +/-   ##
=======================================
  Coverage   43.66%   43.66%
=======================================
  Files         116      116
  Lines       10724    10724
=======================================
  Hits         4683     4683
  Misses       5619     5619
  Partials      422      422

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


Invalid locale loaded for translator when page visited from hibernated device

Laravel Version: 8.54
PHP Version: 8.1
Database Driver & Version: Postgres

Description:
When user visits the page from something that I may describe as hibernated device state (ie. the tablet screen was off for 3 minutes) the loaded locale is not valid. Using the dd(app('translator')) code line shows that loaded locale is not en, but en_US.
Reloading the page manually actually sets the locale correctly to just "en".
As a workaround, I did a symlink from en.json to en_US.json, and translation "works", but this is a hack nevertheless.
Steps To Reproduce:

If you have a browserstack account, visit your page on ipad air 4 (using safari, but afaik other web browsers also have that problem).
At this stage the page translations you see should be fine, click on "stop session" to "hibernate" device
Open the closed device once again by clicking on it from the list, browserstack saves your last url so you will be now redirected to previous location, but with missing translations as the locale has been set to en_US

I have no idea why this happens, maybe it is some preflight / head request that is different from user hitting "reload" button, maybe there is a request made by javascript, but I know that at least once the same error has been reproduced on physical device therefore it is not browserstack fault.

Hey there,
Unfortunately we don't support this version anymore. Please check out our support policy on which versions we are currently supporting. Can you please try to upgrade to the latest version and see if your problem persists? If so, please open up a new issue and we'll help you out.
Thanks!


Print a warning if a task is skipped because of re-invocation.

Resolves #1689

As per discussion here: https://github.com/capistrano/capistrano/pull/1724#issuecomment-233398023

Very nice, thanks! I tested this against one of my own projects and this warning actually exposed a bug where I was inadvertently calling invoke twice. Works as advertised. 👍


Failing py3.6 Travis CI build

Hi BrainNetworksInPython team! I saw Kirstie's call for help on Twitter about your Travis build failing for Python 3.6 and thought I would take a look into it to see if there was anything I could do.
After a bit of digging it looks like you're running into a version issue. The pandas module just updated to version 0.23.0 yesterday, right when your builds started to fail. If you force install the previous version (pip install -q pandas==0.22.0) instead, your builds should pass (at least, they do locally)! It looks like the pandas team must have changed something mission critical in their codebase, though determining exactly what would take a bit more digging.
For now, you should be able to fix this by changing your requirements.txt file to say pandas<=0.22.0. If you'd like me to submit a PR, just let me know and I'd be more than happy!

Thank you so much @rmarkello ! I've just tested this locally and you're right :tada:. If you would like to submit a pull request please go ahead :sparkles:
The question of what has changed within pandas will have to remain open for now


Improve alignment of text and image in button (new issue)

The text is and image alignment are a bit off. This is a quick solution to vertically align the two.

turns into:

@SharonStrats :)


Unable to get type-safe access to the dataValues property on models

Versions

sequelize: 5.21.2
sequelize-typescript: 1.1.0
typescript3.8.3

I'm submitting a ...

[X ] bug report
[ ] feature request
Actual behavior:

Unable to get typing safe access to the foreign key of a model in a many-to-one association from using model.dataValues. When using the property dataValues on my instance, Typescript flags up that "Property 'dataValues' does not exist on type "ActivityModel" ". However when using "// @ts-ignore",  the dataValues  property returns all data in the model and allows me to access the foreign key value.
Expected behavior:

Should be able to use the dataValues property on my model with sequelize-typescript providing valid types
Steps to reproduce:

Create a 1-n relationship with 2 models with
On the many side of the relationship, use the @BelongsTo decorator and use the  AssociationOptions.foreignKey property to set the foreign key attribute
Create instances of those models, and try to access any of the attributes in your model through "foo.dataValues.bar". Then try it using // @ts-ignore

Related code:

//tsconfig.json
{
    "compilerOptions": {
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "module": "commonjs",
        "lib": [
            "es2016",
            "esnext.asynciterable"
        ],
        "esModuleInterop": true,
        "target": "es6",
        "noImplicitAny": true,
        "strictNullChecks": true,
        "moduleResolution": "node",
        "sourceMap": true,
        "outDir": "dist",
        "baseUrl": ".",
        "paths": {
            "*": ["node_modules/*"]
        }
    },
    "include": ["src/**/*"]
}

/*
Replicated Code
*/

//Throws an error
ActivityModel.findAll().then((activityData) => {
        activityData.map((activity) => {
            console.log(activity.dataValues.listingId)
        })
    })

//This logs the models foreign key
ActivityModel.findAll().then((activityData) => {
        activityData.map((activity) => {
            // eslint-disable-next-line @typescript-eslint/ban-ts-ignore
            // @ts-ignore
            console.log(activity.dataValues.listingId)
        })
    })

Hey @robwells124. There is a getter for that. See official typings: https://github.com/sequelize/sequelize/blob/master/types/lib/model.d.ts#L2539
Anyways, if you have good reasons to add the dataValues property to the typings, you would have to create an issue or PR in the sequelize project.

I have the same issue, if dataValues is available in the return type of say bulkCreate(), why doesn't typescript like this property when used on the result of bulkCreate? I have to do ( as any) to bypass this.


Channels Stuck Closing

Lightning Channel Closure: I initiated the closure of a Lightning Network channel on my node approximately 10 days ago, but it still shows a "closing" status. Additionally, I noticed that I was charged twice for the closing transaction fees. How can I expedite the closure of this channel and prevent any further charges?

umbrel@umbrel:~ $ ~/umbrel/scripts/app compose lightning exec lnd lncli pendingchannels
{
"total_limbo_balance": "87269",
"pending_open_channels": [],
"pending_closing_channels": [],
"pending_force_closing_channels": [],
"waiting_close_channels": [
{
"channel": {
"remote_node_pub": "02ef503ab9f9fe3d78a83b4124c8ab9777fd08702b205034e6e8bd8d9d2cb84527",
"channel_point": "7d79bdfd386c4c2972ed298d1393b47e931b6be1679247a4fe997414592f5a6c:0",
"capacity": "100000",
"local_balance": "87269",
"remote_balance": "9508",
"local_chan_reserve_sat": "1000",
"remote_chan_reserve_sat": "1000",
"initiator": "INITIATOR_LOCAL",
"commitment_type": "ANCHORS",
"num_forwarding_packages": "0",
"chan_status_flags": "ChanStatusBorked|ChanStatusCommitBroadcasted|ChanStatusLocalCloseInitiator",
"private": false,
"memo": ""
},
"limbo_balance": "87269",
"commitments": {
"local_txid": "84f297da2ff444708aeacaf8702f2e76023a17462c803e7bee1419b64288fd1b",
"remote_txid": "501c9607c9e1ceceb7d7c362ba85431019c65df544f9a6ae0204616d2fa050fb",
"remote_pending_txid": "",
"local_commit_fee_sat": "2562",
"remote_commit_fee_sat": "2562",
"remote_pending_commit_fee_sat": "0"
},
"closing_txid": "84f297da2ff444708aeacaf8702f2e76023a17462c803e7bee1419b64288fd1b"
}
]

You can bump the close fee. Also note, the mempool is slammed right now and on-chain TXs are costing 330 sats/vbyte. https://mempool.space/

You are not charged twice, but I think umbrel does not account for RBF replacements (look at the tx which show the RBF history: https://mempool.space/tx/0b31240937c7b437babf9580f0b1cae44ce82c655a75eeba28845a048237ddbb). You can manually bump the fee of your closing tx via: lncli wallet bumpclosefee

moving this issue to a discussion thread


Migrate from winapi to windows-sys.

This PR migrates remove-dir-all from winapi to windows-sys.
Windows-sys is actively maintained, by Microsoft, and has recently
started to be adopted in the ecosystem; mio, parking_lot, wasmtime,
and others have moved to windows-sys.

Thank you for your PR, and congrats on your first contribution! 🎉

I have no objection but I will note that I'll be reverting this for my upcoming patch if I can't get all the needed bits working with windows-sys (which was the state last time I got a time-slice on it).

@rbtcollins Using windows-sys here is important to me as a downstream user of this project. If you're having difficulty doing what you need to with it I'd love to help out.

https://github.com/microsoft/windows-rs/blob/master/docs/FAQ.md#how-do-i-choose-between-the-windows-and-windows-sys-crates may be helpful

Thanks @Xaeroxe. Limited time is my main problem right now; the previous attempt I made I found https://github.com/microsoft/win32metadata/issues/995 which is now fixed. And the underlying function I'm working with is NtCreateFile - https://github.com/rbtcollins/fs_at/blob/main/src/win.rs#L174 - the code is not beautiful, but a large chunk of that is that while the function is documented, getting it to do what you want is not :/.


Added support for an option to retain buffer instead of converting to String on 'line' event

Covered with test and added documentation. Also reformatted the code to make it more readable.

@esaounkine  thanks for your pull request. It looks fine from scanning the code. I will try it out locally. If all good I will merge and publish the change

Good plan!
Will be awesome to get rid of my fork used in a project where I needed this functionality ;)

@esaounkine published @1.3.0

Great news! Thanks!


Error using Isolates (Multithreading)

Is it possible to use pytorch_lite in isolates for running inference? I'm trying to split up the work on separate threads to speed up the process.
[ERROR:flutter/runtime/dart_isolate.cc(1097)] Unhandled exception:
Bad state: The BackgroundIsolateBinaryMessenger.instance value is invalid until BackgroundIsolateBinaryMessenger.ensureInitialized is executed.
#0      BackgroundIsolateBinaryMessenger.instance (package:flutter/src/services/_background_isolate_binary_messenger_io.dart:27:7)
#1      _findBinaryMessenger (package:flutter/src/services/platform_channel.dart:145:42)
#2      BasicMessageChannel.binaryMessenger (package:flutter/src/services/platform_channel.dart:192:56)
#3      BasicMessageChannel.send (package:flutter/src/services/platform_channel.dart:206:38)
#4      ModelApi.getImagePredictionListObjectDetection (package:pytorch_lite/pigeon.dart:319:52)
#5      ModelObjectDetection.getImagePredictionList (package:pytorch_lite/pytorch_lite.dart:525:30)
#6      ModelObjectDetection.getImagePrediction (package:pytorch_lite/pytorch_lite.dart:455:52)
#7      _InferencePageState.processImageBatch (package:sharkeye/inference_page.dart:120:38)
#8      _delayEntrypointInvocation. (dart:isolate-patch/isolate_patch.dart:300:17)
#9      _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)
ChatGPT's response to this error:
'The PytorchLite plugin is attempting to use platform channels (binary messenger) inside an isolate, which is not supported by default in Flutter.'

I was able to implement Isolates with the native dart isolates.
It is indeed faster in the sense that work is delegated across these isolates by a factor of N isolates.
However, due to the nature of how many images I'm processing through inference, I'm running into memory issues:
* thread #7, queue = 'com.apple.root.default-qos', stop reason = EXC_RESOURCE (RESOURCE_TYPE_MEMORY: high watermark memory limit exceeded) (limit=3072 MB)
    frame #0: 0x00000001055bb50c Runner`void c10::function_ref<void (char**, long long const*, long long, long long)>::callback_fn<at::native::DEFAULT::VectorizedLoop2d<at::native::DEFAULT::direct_copy_kernel(at::TensorIteratorBase&)::$_1::operator()() const::'lambda12'()::operator()() const::'lambda'(float), at::native::DEFAULT::direct_copy_kernel(at::TensorIteratorBase&)::$_1::operator()() const::'lambda12'()::operator()() const::'lambda'(at::vec::DEFAULT::Vectorized<float>)> >(long, char**, long long const*, long long, long long) + 496
Runner`c10::function_ref<void (char**, long long const*, long long, long long)>::callback_fn<at::native::DEFAULT::VectorizedLoop2d<at::native::DEFAULT::direct_copy_kernel(at::TensorIteratorBase&)::$_1::operator()() const::'lambda12'()::operator()() const::'lambda'(float), at::native::DEFAULT::direct_copy_kernel(at::TensorIteratorBase&)::$_1::operator()() const::'lambda12'()::operator()() const::'lambda'(at::vec::DEFAULT::Vectorized<float>)> >:

Looking around old issues and from flutter_tflite issues, it appears as though inference is currently being run via CPU instead of GPU, resulting in slow inference of around 200-400ms per image.

Are you still looking into how to implement a GPU solution?
Do you have any suggestions on running inference on lots of images without running into memory issues? I have tried using a queue to limit the amount of images required for each isolate to process.

I would like to see how you implement the logic for the isolates, maybe I can use them in the package to improve speed, if you want to do a pr, this will be much appreciated
Also for GPU it's not supported by pytorch_mobile which is why I can't use it
For memory when I see the implementation of the isolates I may be able to reduce memory load, but not much

Still troubleshooting with isolates.
I notice that PyTorch_lite is using Computer library to spawn 2 workers through the ImageUtilsIsolate (default).
Therefore if I have the main Ui thread (1), 2 of my own threads (2) and therefore 4 Computer worker threads (4), I hit a total of 7, which I believe is more than the processors of an iPhone.

From my understanding in processors, if the process is not running another task takes command,
So it should not be a problem, even if you are using 100 that's won't cause any problems, but you wont see much of increase in performance beyond a certain point

I really don't understand the way you were able to run the package inside threads!
It should run as asynchronous task so that does block ui thread, so it should not be any faster if used in threads, this is why I wanted an example to test on

Is using this better than just using direct inference without isolate?
I think it should be the same, didn't test but I am just saying the logic

My intention was to split the work of inference between the threads.
For a given set of 1000 images, give isolate 1: 333, isolate 2: 333, isolate 3: 334 to run in parallel. My expectations would be that it would take 334 images worth of inference time to process. Is this logic incorrect?

I don't know,
But let's think of it in another way, if pytorch uses all cores to run inference then this logic is not correct since the inference will be using all cores for each one so it may take the time of 900 images instead of 1000
If pytorch uses 1 core then yes this logic is correct,
Using my package default async tasks should launch isolates by default, so I don't think using isolates to distribute to the tasks is gaining you any performance
Like I think running the 1000 as a batches of 3 images using package await will give same performance or better

I see this function in the package: getImagePredictionListObjectDetection(List imageAsBytesList), is this intended to be used for a list of images?

No this intended for camera images

Keep in mind I don't want to provide a function that takes list of images since loading 1000 images will most probably have problems with memory


Is it possible to send log from hapi-pino to elasticsearch

Hi, I'm working on a project using hapi-pino for logging in json.
I try to use pino-elasticsearch to ship log to elasticsearch but it don't work like I want.

request.log([tags], data): Elasticsearch can get first tag, nothing else

request.logger.info/warn/error(message): Elasticsearch can't get this log type.

However, I use pino like example in pino-elasticsearch and it worked.
Thanks for any helps and sorry about my poor English :(

@delvedor can you help?

Hello! Which version of Elasticsearch are you using?
Can you add here the pino-elasticsearch configuration and your index mappings?

I'm using Elasticsearch with 7.6.2 version
Here is pino-elasticsearch configuration and integrate to hapi-pino:

const streamToElastic = PinoElasticsearch({
    index: 'abc-api',
    type: 'log',
    consistency: 'one',
    node: 'http://elastic:changeme@localhost:9200',
    'es-version': "7.6.2",
    'bulk-size': 200,
    ecs: true
});

await server.register({
    plugin: HapiPino,
    options: {
        logPayload: true,
        prettyPrint: process.env.NODE_ENV !== 'production',
        redact: {
            paths: ['req.headers', 'payload.user.password', 'payload.file'],
            remove: true
        },
        stream: streamToElastic
    }
});

Thanks so much

Can you also paste here the Elasticsearch index mapping? You can get it with the following command:
curl -u elastic:changeme localhost:9200/abc-api/_mapping

I would also recommend to not use the ecs option in pino-elasticsearch, but use @elastic/ecs-pino-format instead.

Elasticsearch index mapping:
{
   "offshorevn-api":{
      "mappings":{
         "properties":{
            "@timestamp":{
               "type":"date"
            },
            "ecs":{
               "properties":{
                  "version":{
                     "type":"text",
                     "fields":{
                        "keyword":{
                           "type":"keyword",
                           "ignore_above":256
                        }
                     }
                  }
               }
            },
            "pino":{
               "properties":{
                  "data":{
                     "type":"text",
                     "fields":{
                        "keyword":{
                           "type":"keyword",
                           "ignore_above":256
                        }
                     }
                  }
               }
            }
         }
      }
   }
}

There is an error in your configuration, you set 'es-version' to '7.6.2'.
It should be 7, only the major version number.
Also, you don't need to configure the type, as it's no longer supported in Elasticsearch v7.

I try fixing 'es-version' and remove type but it still doesn't work.
If I use @elastic/ecs-pino-format, how to config it with hapi-pino?

If I use @elastic/ecs-pino-format, how to config it with hapi-pino?

You should use Pino v6, then I think the following should work:
const ecsFormat = require('@elastic/ecs-pino-format')()
await server.register({
    plugin: HapiPino,
    options: {
        ...ecsFormat,
        logPayload: true,
        prettyPrint: process.env.NODE_ENV !== 'production',
        redact: {
            paths: ['req.headers', 'payload.user.password', 'payload.file'],
            remove: true
        },
        stream: streamToElastic
    }
});

Thanks so much, it worked
I create an instance of Pino with elasticsearch stream and put it into hapi-pino config
const streamToElastic = PinoElasticsearch({
    index: 'abc-api',
    consistency: 'one',
    node: 'http://elastic:changeme@localhost:9200',
    'bulk-size': 200,
    'es-version': 7
});

const logger = Pino({ level: "info" }, streamToElastic);

await server.register({
    plugin: HapiPino,
    options: {
        ...ecsFormat,
        logPayload: true,
        prettyPrint: process.env.NODE_ENV !== 'production',
        redact: {
            paths: ['req.headers', 'payload.user.password', 'payload.file'],
            remove: true
        },
        instance: logger,
        stream: streamToElastic,
        mergeHapiLogData: true
    }
});```


stop responding from user input

while True:
    poll.trace()

5 minutes is working, but next minutes cant respond from user input.
like when i send to bot, its always autoread, but sometimes is not autoread

Can you provide traceback result?

there is no traceback result

@fadhiilrachman this is what i get, bot is not response


Branch merge 1.5.x into master (55871df)

fix coursier cache
remove copyright year
remove unnecessary .ivy2/local
user 'exit 1' instead of 'set -e'
using stages
fixing travis scripts

Like #334, but sent directly from repo (not from fork)

@ennru, this is in preparation for releasing by tag from master. We have made a few changes in 1.5.x that were never incorporated in master. This PR solves it.
Release by tag for this repo will need to be backport to 1.5.x as we need to keep release 1.5.x series from that branch. In master, we removed sbt 0.13 support, which is needed for 1.5.x.

@ennru, I applied all Ignasi's suggestions. Can you have a look on this one?


Automating the release process

This is only a suggestion (and I don't know how you handle it currently), but it may be beneficial to automate the releasing and versioning process with GitHub Actions. I developed this crate and I've been using GitHub Actions to automate the releasing process using. The GitHub Actions configuration file is here.

solid idea i was looking for something like this, i might add a clause to also run tests

looks very cool, im not sure how it's generating that bug fix/ feat overview but nicely done i integrated it

The changelog is automatically inferred from the commit messages, which are in the Conventional Commits format.


Database client operation duration metric

Timing database operations is important. I propose a new metric: db.client.operation.duration. This metric would apply to all types of database systems.
Currently, the only client-level database metrics defined are related to connections, i.e., db.client.connections.*.
The database span conventions already include a set of generic call-level attributes. Some of these attributes would be equally applicable to the db.client.operation.duration metric.
Minimally, the db.client.operation.duration metric should include the following attributes:

The connection-level attributes
db.name
db.operation

I propose next attributes for this metric to be included:

Attribute
Type
Description
Examples

error.type
string
class of error operation ended with
timeout; ERROR 1146; ORA-01722

db.operation.phase
string
Operation phase. exec for statement (stored-proc/function/sql) execution, fetch (if applicable) to fetch result sets
exec; fetch

@chameleon82 can you give some examples of what values you'd expect to see for db.operation.phase for common operations against common databases? For example, consider the typical application workloads and typical sql SELECT, UPDATE, INSERT, DELETE operations against common relational databases like mysql / postgres, etc. If I understand correctly, there would be separate measurements for the exec phase and the fetch phase.

@jack-berg , let me give an example with jdbc driver:

SQL
   String sql = "SELECT * FROM users";
   try (PreparedStatement statement = connection.prepareStatement(sql)) {
              try (ResultSet resultSet = statement.executeQuery()) {
                  while (resultSet.next()) {    ...   }
              }
        }

Stored Proc with prepared statement (MS SQL)
CREATE PROCEDURE get_users AS
BEGIN
  SELECT id, name FROM users;
END;

  String sql = "exec get_users";
  try (PreparedStatement statement = connection.prepareStatement(sql)) {
             try (ResultSet resultSet = statement.executeQuery()) {
                 while (resultSet.next()) {    ...   }
             }
       }

Stored proc with callable statement (no fetch phase)
 try (CallableStatement statement = connection.prepareCall(storedProcedure)) {
              boolean hasResults = statement.execute();
              ...
 }

It split execution in 2 phases:

prepareStatement or prepareCall where SQL or StoredProcedure compiled on DB side. Exception can happened due incorrect syntax (table modifications) or SP unavailablility. RDBMS (like Oracle, MS SQL, MySQL and etc) usually build execution plan and keep it in cache and metric result can reflect cache hit.
fetch results, both statement.executeQuery() and until resultSet.next() != null. That part is heavy and may take seconds/minutes to process execution plan and depends on RDMBS settings (for example, Oracle can have execultion plan settings FIRST_ROWS with value 1000 and small resultSets can be processed way faster than the ones with 1000+ rows). Result can failed due various reasons like dividing on zero (db side) and result set mapping as string assigned to number and value is not numeric (client side).

Corner cases:
MS SQL allow to return multiple resutSets from StoredProc means instead of executeQuery() possible to have getResultSet() multiple times
Alternatives:
phase can be prepare and process instead of exec and fetch.


Use MFEM_VERIFY instead of MFEM_ASSERT inside the solvers

https://github.com/mfem/mfem/issues/4396

Please remember to mark with ready-for-review when this is ready.

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

Merged in next for testing...


React Fiber documentation not present in the current Docs

The current React documentation does not include detailed information about React Fiber. Given the importance and impact of React Fiber on React's performance and internal mechanisms, it would be beneficial for developers to have comprehensive documentation on this topic.
Proposed Content:

Introduction to React Fiber
How React Fiber differs from the previous reconciliation algorithm
Benefits of React Fiber
How React Fiber works (including concepts like work loops, priority levels, and interruption)
Examples and use cases demonstrating React Fiber's advantages

Rationale:
Having thorough documentation on React Fiber will help developers understand the underlying architecture of React, enabling them to write more efficient and optimized applications. It will also aid in debugging and enhancing their knowledge of React's performance improvements.
Additional Information:
If there are any existing resources or blog posts that can be referred to in the meantime, it would be helpful to include those as well.

bumping this


Add optional parameter to specify names for PI Vision

Often the name used by clients to access the web server will not be the same as the machine name.  Sometimes the custom host header will contain this value, but that is not mandatory, so we cannot rely on the presence of that value.  Specifying this parameter will improve the accuracy of the SPN check.

Addressed in #395


added GPTRouter to other projects

Hi @himanshu007-creator! Thank you for the suggestion. Currently, we are focusing on listing information about GitHub repositories. Therefore, we are not including websites related to ChatGPT at this time. However, if there is any related code available on GitHub, we can consider listing it. Does such code exist?

sure updating

@taishi-i  can you re-review please

Hi @himanshu007-creator. The merge has been completed and the multilingualization of information has been finalized. We look forward to providing further information. Thank you!
https://github.com/taishi-i/awesome-ChatGPT-repositories/blob/0df30ebc41ffb6f92a9ec388d5b7e83e48d3b63d/README.md?plain=1#L42


Spin up binder build pods on appropriately sized nodes

Context
Split from #4209
From @GeorgianaElena's original issue:
I think the autoscaler should spin off the smallest type of node that satisfies a resource request

is this true @2i2c-org/engineering?

relevant docs that I found:

gcp https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-autoscaler#operating_criteria

But @jmunroe has experienced the following weird situation on aws: 1. Cluster has only one core node running (no user nodes)
 2. James wants to build an image on that hub and triggers the creation of a builder pod
 3. That builder pod triggers the spin off of a GPU node???

Why did the autoscaler chose to create the biggest type of machine in the user node pool?

Current state
We have now appropriately tainted GPU nodes on AWS so that binder build pods cannot request them, but they are still requesting the largest available node size, e.g., r5.16xlarge. We should also see if this is true for binder deployments on GCP.
Proposal
No response
Updates and actions
No response

After speaking to @jmunroe, we decided for now that all binderhub UI enabled hubs should be restricted to the smallest nodes we have. I believe this is r5.xlarge on AWS and n2-highmem-4 on GCP. Both user and build pods should be made to target these with node selectors

@yuvipanda, should we document this as being the recommended practice on all binderhubUI hubs?

@GeorgianaElena yes we should!


Make the Editors VSIX use VS Version

@dotnet/project-system

👍

Jenkins is stuck a signed build completed successfully with this change. So merging.


feat: add support for proposals with pending results

Summary

Closes: https://github.com/snapshot-labs/workflow/issues/332
This PR adds support for offchain proposals with pending results (when scores_state is not final)

Pending score happens for:

proposal with privacy, when choices are being decrypted on proposal close
proposal with overriding strategies, which recompute results on proposal close

How to test
On proposal with privacy

Go to http://localhost:8080/#/s:test.wa0x6e.eth/proposal/0xd9cf46665a51d6763623865915c1bbeb57b6e7f0fe240f1c85244345ef9e240f/votes
It should display a message about results being finalized in place of the results (in the sidebar)
It should display a message in place of the choice in the votes list

On proposal without privacy

Go to http://localhost:8080/#/s:aave.eth/proposal/0x95a80ac25f97e0fc06528452e2c33d7cc179b801ddc4d8dd164964ce8e1d450e/votes
It should display a message about results being finalized in place of the results (in the sidebar)
The choice in the votes list should be the final choice

Note
We don't support when the proposal has scores_state as invalid state, since it's not handled on v1 either

Any idea why these proposal are stuck with results not finalized?

We should show the logo Shutter on proposals with Privacy

Proposals are stuck for various reasons:

an issue from the proposal itself: https://github.com/snapshot-labs/snapshot-sequencer/pull/280
an issue with webhook (we trigger the score finalization from webhook)

There's currently ~260 closed proposals with pending state. Will trigger the score finalization manually.
We should have a somewhere to ensure the finalization is triggered in case webhook is lost

http://localhost:8080/#/s:192022.eth/proposal/0xcf442aa4277322dd14715326541d43c9c9bd7bf143d3bebfc93ed685a45c2668/votes

Computation is triggered via webhook, on proposal close, everything is done on backend, no more trigger for that from the UI.
There's a few cases where finalization trigger are missed, as webhook are not retried on error, need to work on a solution to ensure all trigger is called.


oracle display of numerics

The query
select my_numeric_column from my_table
yields a red

[]

as data result instead of the actual query result, if the numeric column contains true fractions. This occurs with default NLS_NUMERIC_CHARACTERS.
All the best
pgaro

Do you have plans about this? Not being able to query data, basically forbids using OmniDB for oracle related tasks.
Regards
pgaro


Final cell in 4a compensation notebook returns error/warning and doesn't continue looping through runs

Please refer to our FAQ and look at our known issues before opening a bug report.
When running through toffy pipeline on a cohort of six runs with 2 FOVs per run collected in July, the last cell in notebook 4a returns the attached error and stops looping through FOVs. All previous notebooks ran fine and without error.

Expected behavior
We expected the loop to continue to compensate the remaining images.
To Reproduce
Please either copy/paste or screenshot all of the code you ran which produced the error. In addition, copy the full error message.

Hi Whitney! This is because the function is trying to compensate the stitched_images folder as an FOV. We'll get that fixed, but for now you should be able to compensate all your runs by temporarily moving the stitched folder out of your extracted images run folder.


Ingest attachment

I wonder if there is a possibility of implementing the ingest attachment.

We are currently on our way to fix existing bugs, new features (e.g. Ingest Attachment) will be added after dealing with those problems.

Hi @musabgelisgen , I need this feature too, please!


Remove the old track 2 Insights package

The package is replaced by the new track 2 package in monitor/Azure.ResourceManager.Monitor.
Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

/check-enforcer override