Request for NullScape Compatibility

Using 1.18.2 Version when you use this mod and Nullscape the only thing that generates are the small decor mushrooms and the shadow quartz, i would love to use both of these together in my own worlds, so if you can please add compatiblity! :D

This is more of a matter for BCLib or Nullscape developers and not something Enderscape on its own will likely manage.


XGB2Regressor vs XGBRegressor

Hi, it seems a model trained using XGB2Regressor is slightly different than the one obtained using regular XGBRegressor. For instance, if we run the following code, I get slightly different predictions for the test data. I am sure I am missing something, but I am unable to figure it out. Could you please help?
from piml import Experiment
from piml.models import XGB2Regressor
from xgboost import XGBRegressor

exp = Experiment(highcode_only=True)
exp.data_loader(data='BikeSharing', silent=True)
exp.data_prepare(target='cnt', task_type='regression', test_ratio=0.2, random_state=0, silent=True)

model1 = XGB2Regressor()
exp.model_train(model=model1, name='XGB2')

model2 = XGBRegressor(max_depth=2)
exp.model_train(model=model2, name='XGB2-default')

print(model1.predict(exp.get_data(test=True)[0]))
print(model2.predict(exp.get_data(test=True)[0]))

[-0.04393188  0.03837352  0.4268577  ...  0.02106261 -0.00260242
  0.34881094]
[-0.03740007  0.03996139  0.42402536 ...  0.02290548  0.0015662
  0.3511871 ]

Confirmed I also have the same result
[-0.04393188  0.03837352  0.4268577  ...  0.02106261 -0.00260242
  0.34881094]
[-0.03740007  0.03996139  0.42402536 ...  0.02290548  0.0015662
  0.3511871 ]

Hi @yodiaditya and @srbPhy
The results difference is due to the use of different default hyperparameters.
You would get the same results using the following codes.
from piml import Experiment
from piml.models import XGB2Regressor
from xgboost import XGBRegressor

exp = Experiment(highcode_only=True)
exp.data_loader(data='BikeSharing', silent=True)
exp.data_prepare(target='cnt', task_type='regression', test_ratio=0.2, random_state=0, silent=True)

model1 = XGB2Regressor()
exp.model_train(model=model1, name='XGB2')

params = exp.get_model("XGB2").estimator.estimator_.get_params()
model2 = XGBRegressor(**params)
exp.model_train(model=model2, name='XGB2-default')

print(model1.predict(exp.get_data(test=True)[0]))
print(model2.predict(exp.get_data(test=True)[0]))

Thank you very much for your quick response. That makes sense.


move to svgo2 #33

This PR contains breaking changes (SVGO changed plugins API) and should be released under new major version (imho)
Also I updated links to repo
P.S. I've tested changes by examples and on my project

@TrySound could you review? Or if you still want to do your own PR, would be even better

Yeah, migration requires a bit more changes.

Ok, then I close this PR. Thank you


Enable dandiset owners to schedule and broadcast webinars

(The following was originally from @yarikoptic in #414)

dandiset owners should be able to schedule webinars to present dandisets to the public
"watchers" of the dandiset would receive a notification about the webinar being scheduled
Jitsi is providing an ultimate platform - even without our dedicated deployment (although it might be needed in case of too popular webinars where we would need mixin server like zoom does instead of full peer-to-peer). We could pair them with collaborative jupyter/collaboratories sessions and some Q&A platform etc.

@yarikoptic, is your vision to actually integrate Jitsi into the archive somehow? Or do you picture a special type of "webinars" model to be attached to dandisets that would then be given as out-of-band Jitsi presentations, etc.?


[6.3.x] Bug 1316566 - User can not create projects in any other repository than master

Same as https://github.com/droolsjbpm/kie-wb-common/pull/318, but updated the commit message with a BZ number that depends on this fix.
See https://issues.jboss.org/browse/GUVNOR-2459
This is the corollary of #315 for 6.3.x
GUVNOR-2459: NPE when open an Organization Unit that doesn't have a repository yet
(cherry picked from commit a08a9e5a9c9299cb02bf0102138c31d0b944b31e)
Conflicts:
kie-wb-common-screens/kie-wb-common-project-explorer/kie-wb-common-project-explorer-backend/src/test/java/org/kie/workbench/common/screens/explorer/backend/server/ProjectExplorerContentResolverTest.java

Now, not sure if I should +1 this or @manstis ;-)
+1

@Rikkola you can +1 since I made the code change :)

Waiting for @etirelli to give the go ahead before merging...

Thank you. All in now.


protobuf: towards unifying PGV, deprecated and unknown field validation.

This is part of #7980; basically, we want to leverage the recursive pass
that already exists for the deprecated check. This PR does not implement
the recursive behavior yet for unknown fields though, because there is a
ton of churn, so this PR just has the mechanical bits. We switch
plumbing of validation visitor into places such as anyConvert() and
instead pass this to MessageUtil::validate.
There are a bunch of future followups planned in additional PRs:

Combine the recursive pass for unknown/deprecated check in
MessageUtil::validate().
Add mitigation for #5965 by copying to a temporary before recursive
expansion.
[Future] consider moving deprecated reporting into a message
validation visitor handler.

Risk level: Low
Testing: Some new //test/common/protobuf::utility_test unit test.
Signed-off-by: Harvey Tuch<EMAIL_ADDRESS>

/azp run

@kyessenov FYI as well.


[WIP] Introduce headOption in query dsl

Problem
TODO
headOption is missing in Query dsl, users should execute action and then map result to headOption.
Solution
Add headOption to Query dsl.
return None on empty result, Some on single result and fail on 2 or more.
Notes
@getquill/maintainers

I'd like nothing to be called after headOption, how should we implement this?

[ ] Add new parent to Query which will be just a marker of query dsl. Then OptionQuery will extends this parent and users won't be able to call anything after headOption
[ ] add some tricks in normalization which will ban calling anything after headOption (this could somehow confuse users )

Does this feature worth all of these changes at all?

Checklist

[ ] Unit test core module, parsers etc.
[x] Unit test available contexts
[ ] Update README.md if applicable
[x] Add [WIP] to the pull request title if it's work in progress
[x] Squash commits that aren't meaningful changes
[x] Run sbt scalariformFormat test:scalariformFormat to make sure that the source files are formatted

@getquill/maintainers

I remember this was discussed in Gitter or one of the issues (with @zifeo?). @mentegy Do you have a link?
Why is it better to use testContext.run(q.headOption) instead of testContext.run(q).headOption for sync context and testContext.run(q).map(_.headOption) for async? Failing for 2 or more results in runtime is not the best behavior, especially for the method named headOption (headOptionOrFail?). It will be better if client code will check number of results explicitly and handle it (fail or do something else).
Also assuming that Quill is all about compile-time query generation, I do not see the reasons to add this runtime feature not related to query generation to Quill core.

We might have already spoken about this, not sure though. I personally use .map(_.headOption) in about 80% of my queries. This would be convient to use for code style. However the comportement is tricky: would it involve take(1) in the (sql) query? I also like the possibility to fail fast and avoid hidden issues.

@mentegy @mxl @zifeo I added this feature when I designed the API initially but decided to remove because I couldn't find an easy way to limit the query results for all drivers and databases. I think it's an unexpected behavior if the query loads all elements from the database only to extract the first element, so Quill should also generate a query that limits the result set. I think ANSI SQL has the TOP clause for that but it doesn't work on all DBs if I remember correctly.

@fwbrasil TOP is MS SQL Server specific clause. It's not supported by other dialects.
ANSI SQL defines FETCH FIRST <N> ROWS ONLY but it's not yet fully supported in many dialects (they have other syntax like TOP or LIMIT).
I suggest to map headOption to TOP 1 for MS SQL Server or LIMIT 1 for other dialects.

@mxl @zifeo @fwbrasil Thanks for your feedback!
Major inspiration was to unify returning the single element:
 ctx.run(q.headOption)
// instead of annoying:
 ctx.run(q).headOption
 ctx.run(q).map(_.headOption) // especially this :)

In addition ctx will fail with error if returned result is more that 1 element.
But when it comes to realization I've started wondering whereas such feature worth incoming changes.
Some implementation details:

size, max and other aggregation queries is returning single element but they depends on decoder, which is not working with returning case class which depends on QueryMeta. Hence new type alias and new run method is needed, plus headOption cannot return just Option[T] but some another type which can be overridden by macros
So the solution is to introduce new empty QueryApi trait which is base marker for queries, hence Query will extends this and headOption will have result type QueryApi[T] or another subclass != Query. I've tried to do so whowever could not make quotes to accept it .

Collecting all of these issues I came up to the point that this feature does not worth such changes.
I'm closing PR so we could reopen this in future if this feature will be essential, or you have another options how to implement headOption feel free to use this as starting point :)
Btw, regarding TOP 1 / LIMIT 1, well it will potentially skip results if original query will do so.

I don't understand the issue of

I couldn't find an easy way to limit the query results for all drivers and databases

There is a take method already. Or did that happen later?


H617C - unable to get BLE enabled.

I got a Govee H617C light strip a few days back as it was on sale and figured I've be able to get it to work with HomeBridge / HomeKit.
Made sure that Node.js was updated to the supported value and everything seemed fine.
Loaded up the plugin homebridge-govee v4.19.0 and configured it as such, (note - MAC was pulled from Govee Home app, APU was from request via app):
    {
        "name": "Govee",
        "username": "email_goes_here",
        "password": "passwd_goes_here",
        "apiKey": "API_key_from_Govee_goes_here",
        "lightDevices": [
            {
                "label": "Lightstrip",
                "deviceId": "0E:F1:35:54:AA:E3",
                "enableBT": true
            }
        ],
       "platform": "Govee",
        "_bridge": {
            "username": "0E:F1:35:54:AA:E3",
            "port": 30467

    }

However, when I restart, I see that BLE is disabled.
At first, just had email / passwd in the config,  as I thought I saw the H617C didn't need the key, when this didn't work, I requested and added the key, restarted but no change.  Ensured I didn't have app open on device, no change.
Thanks,
Chris
Details provided below.
Details of your setup.

Do you use (1) Homebridge UI-X (2) Homebridge CLI or (3) HOOBS?
Homebridge on Synology NAS
Alpine Linux (3.12.9)

Which version of Homebridge/HOOBS do you have?
v1.3.8

Which platform do you run Homebridge/HOOBS on (e.g. Raspberry Pi/Windows/HOOBS Box)? Please also mention your version of Node.js/NPM if known.

Homebridge on Synology NAS (Docker container) - oznu/homebridge/

Node.js - v16.13.1

NPM - v8.1.2

Which version of this plugin (homebridge-govee) do you have? Has the issue started since upgrading from a previous version?
4.19.0 - I have just had this running on this version (newly installed plugin)

Which Govee devices do you have that are causing issues? Please include product models if applicable.
H617C - light strip

Please paste any relevant logs below.

[12/15/2021, 3:00:16 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /homebridge/node_modules
[12/15/2021, 3:00:17 PM] [HB Supervisor] Started Homebridge v1.3.8 with PID: 1629
[12/15/2021, 3:00:20 PM] Loaded config.json with 1 accessories and 12 platforms.
[12/15/2021, 3:00:20 PM] Loaded 24 cached accessories from cachedAccessories.
[12/15/2021, 3:00:20 PM] ---

[12/15/2021, 3:00:30 PM] Loaded plugin<EMAIL_ADDRESS>[12/15/2021, 3:00:30 PM] Registering platform 'homebridge-dyson-pure-cool.DysonPureCoolPlatform'
[12/15/2021, 3:00:30 PM] ---
[12/15/2021, 3:00:30 PM] Loaded plugin<EMAIL_ADDRESS>[12/15/2021, 3:00:30 PM] Registering platform 'homebridge-govee.Govee'
[12/15/2021, 3:00:30 PM] ---
[12/15/2021, 3:00:47 PM] Loaded plugin<EMAIL_ADDRESS>[12/15/2021, 3:00:47 PM] Registering platform 'homebridge-hue.Hue'

[12/15/2021, 3:01:06 PM] [Nest] Initializing Nest platform...
[12/15/2021, 3:01:06 PM] [Nest] Initializing child bridge 0E:6D:8C:11:6E:66
[12/15/2021, 3:01:06 PM] [Govee] Initializing Govee platform...
[12/15/2021, 3:01:06 PM] [Govee] Initializing child bridge 0E:F1:35:54:AA:E3
[12/15/2021, 3:01:06 PM] Loading 1 accessories...
[12/15/2021, 3:01:06 PM] Ignoring config for the accessory "DummySwitch" in your config.json as the plugin "homebridge-dummy" has been disabled.
[12/15/2021, 3:01:07 PM] [TuyaWebPlatform] Loading accessory from cache: Yi plug

[12/15/2021, 3:01:23 PM] [@milo526/homebridge-tuya-web] This plugin generated a warning from the characteristic 'Brightness': characteristic was supplied illegal value: number<PHONE_NUMBER>666666 exceeded maximum of 100. See https://git.io/JtMGR for more info.
[12/15/2021, 3:01:20 PM] Registering platform 'homebridge-govee.Govee'
[12/15/2021, 3:01:24 PM] [Govee] Loaded homebridge-govee v4.19.0 child bridge successfully
12/15/2021, 3:01:22 PM] Registering platform 'homebridge-nest.Nest'
[12/15/2021, 3:01:24 PM] [Nest] Loaded homebridge-nest v4.6.3 child bridge successfully
[12/15/2021, 3:01:25 PM] [Govee] Initialising plugin v4.19.0 | Node v16.13.1 | HB v1.3.8...
[12/15/2021, 3:01:25 PM] Loaded 4 cached accessories from cachedAccessories.0E6D8C116E66.
[12/15/2021, 3:01:26 PM] [Nest] Fetching Nest devices.

[12/15/2021, 3:01:28 PM] [homebridge-dyson-pure-cool] Accessories initialized.
[12/15/2021, 3:01:28 PM] Homebridge v1.3.8 (HAP v0.9.7) (homebridge-dyson-pure-cool) is running on port 52937.
[12/15/2021, 3:01:27 PM] [Govee] Plugin initialised. Setting up accessories....
[12/15/2021, 3:01:30 PM] Homebridge v1.3.8 (HAP v0.9.7) (Govee) is running on port 30467.
[12/15/2021, 3:01:33 PM] [myQ] myQ API: Successfully connected to the myQ API.

[12/15/2021, 3:01:35 PM] Loaded 2 cached accessories from cachedAccessories.0E345C443D85.
[12/15/2021, 3:01:36 PM] [homebridge-ring] Configuring cached accessory 6a51c08c-bc86-4c1e-9af8-539760c6783a Front Door
[12/15/2021, 3:01:36 PM] [homebridge-ring] Configuring cached accessory 8ba9b19e-da7e-40c9-8285-36991cf2426a Roswell Mode
[12/15/2021, 3:01:36 PM] [Govee] Disabling BLE client as EAFNOSUPPORT, Address family not supported by protocol at GoveePlatform.pluginSetup (/homebridge/node_modules/homebridge-govee/lib/index.js:339:26).
[12/15/2021, 3:01:37 PM] Homebridge v1.3.8 (HAP v0.9.7) (homebridge-ring) is running on port 48580.
[12/15/2021, 3:01:37 PM] [Govee] [Govee strip] has been added to Homebridge.
[12/15/2021, 3:01:37 PM] [Govee] [Govee strip] initialising with options {"adaptiveLightingShift":0,"bluetooth":"disabled","brightnessStep":1,"logging":"standard"}.
[12/15/2021, 3:01:37 PM] [Govee] [Govee strip] initialised with id [0E:37:C2:39:32:35:10:63].
[12/15/2021, 3:01:39 PM] [Govee] ✓ Setup complete. Thanks for using this plugin, I hope you find it helpful!
[12/15/2021, 3:01:46 PM] Registering platform 'homebridge-hue.Hue'
[12/15/2021, 3:01:46 PM] [Hue] Loaded homebridge-hue v0.13.30 child bridge successfully
[12/15/2021, 3:01:46 PM] Loaded 0 cached accessories from cachedAccessories.0EB769470688.
[12/15/2021, 3:01:46 PM] [Hue] homebridge-hue v0.13.30, node v16.13.1, homebridge v1.3.8
[12/15/2021, 3:01:47 PM] [Hue] Philips hue: Signify Netherlands B.V. BSB002 bridge v1948086000, api v1.48.0

Hi @cbp68
Since this device is bluetooth only, you only need to have your govee email and password in the config. The API token not required.
Also, the device ID you need to use in the config for this light strip is 0E:37:C2:39:32:35:10:63.
However, even with these changes, the bluetooth isn’t going to work due to this error in the log:

[Govee] Disabling BLE client as EAFNOSUPPORT, Address family not supported by protocol

Does your hardware setup for homebridge have a bluetooth module?

This error isn’t generated by this plugin but rather the package that the plugin uses for bluetooth connectivity, called noble.
It may be worth looking at the prerequisites for your system on their documentation
https://github.com/abandonware/noble#installation
I have personally never seen this error before, so, you could try searching in their issues for EAFNOSUPPORT or even a good search with “noble EAFNOSUPPORT”


Entities loading problem

Hi,
fantastic add-on, congratulations for the excellent work. But I can't add any entity inside. When inserting the object, only the classic white loading circle appears. Where is the problem? (Add-on version updated 2024.2.1)

Just update to 2024.4.0
I had the same problem

Can you check the browser console for errors?

Are you using a reverse proxy? https://github.com/matt8707/ha-fusion/issues/82

[> I had the same issue and when you inspect the page I was seeing something like "Mixed Content" & "was loaded over https, but requested an insecure frame" (I'm thinking http)

So I assumed the issue was a mix match of the http and https configs and the only http I had between the three services (traefik3, hassio and fusion) was the environement variable for fusion to talk to home assistant.
So I tried pointing fusion at my external address (https://homeassistant.domain.com) rather than my local address (Http://ip:port) for home assistant and can now access fusion through my external domain (https://fusion.domain.com) without the errors you are seeing.

](https://github.com/matt8707/ha-fusion/issues/82#issuecomment-2241316040)


[FIX] fixes the links view count not being sorted

Fixes Issue
closes #3434

Changes proposed
This was happening due to not having the correct key property while mapping over the link

Instead of using index as key, changed it to link.name
the Link has name, icon and url values in it, the name seemed the most optimal

Check List (Check all the applicable boxes)

[x ] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ x] All new and existing tests passed.
[ x] This PR does not contain plagiarized content.
[ x] The title of my pull request is a short description of the requested changes.

Screenshots

Note to reviewers

If having link.name as the key is not the appropriate option, we can add an id on each link before mapping over it like this
  data.links = data.links.map((link, i) => ({ id: i, ...link }));

By this, each link will also have a unique id field which can be used as a key

@ChinmayMhatre can you have a look at this
Also tell me if using the name as key is a good practice or not, or I'll switch to the other method to fix the issue as I mentioned above

@ChinmayMhatre can you have a look at this
Also tell me if using the name as key is a good practice or not, or I'll switch to the other method to fix the issue as I mentioned above

I think using the map's index would be better than using the name.

@ChinmayMhatre can you have a look at this
Also tell me if using the name as key is a good practice or not, or I'll switch to the other method to fix the issue as I mentioned above

I'll take a look at the code at night.

@ChinmayMhatre can you have a look at this
Also tell me if using the name as key is a good practice or not, or I'll switch to the other method to fix the issue as I mentioned above

I think using the map's index would be better than using the name.

Using index was the reason it was not working

@ChinmayMhatre can you have a look at this
Also tell me if using the name as key is a good practice or not, or I'll switch to the other method to fix the issue as I mentioned above

I think using the map's index would be better than using the name.

Using index was the reason it was not working

I meant this
Note to reviewers
If having link.name as the key is not the appropriate option, we can add an id on each link before mapping over it like this
data.links = data.links.map((link, i) => ({ id: i, ...link }));
By this, each link will also have a unique id field which can be used as a key
You could try using this id

What about using url that will be unique?

url

can't say, it's user-defined that's why

What about using url that will be unique?

can't say, it's user-defined that's why


Support .jsp files

Autoclose will not work in .jsp files.

Another idea would be to implement it the other way around, defining an exclusion file extension list.

0.22.0 should get rid of the need to define grammars


delete spam trac tickets

For a brief period trac accepted tickets from bogus sources, with the result that tickets 120-137 inclusive are spam. I have prepared PR #247 to delete them. Please could someone check and merge it. Thanks. Proposals to fix defects must be approved by a member of the Conventions Committee and Standard Names Committee, or the Governance Panel. They can be merged immediately thereafter.

Just  a thought: would it be useful to include a brief sentence stating something like "Tickets 120-137 were spam and consequently deleted", just for keeping the history transparent?

@erget has noticed that ticket 123 is not spam, although in a spam sandwich. I will reinstate that one. Thanks, Daniel. I agree with you, @larsbarring, that the editing to the trac tickets should be noted. Thanks for your coment. I'll do that too.

This all looks good to me - thanks, Jonathan.

I have reinstated ticket 123 and modified the index and navigation accordingly. I have inserted a note at the top of the index about the manual editing. Also I have made other manual edits to make the index look properly like a standalone static web page (instead of a Trac query) and remove all the inactive links.

Thanks @JonathanGregory , I've merged and done some git incantations.

Thanks @erget. I found that I had not correctly fixed the navigation between tickets in the HTML (because they appeared in two places and I modified the wrong one) so I prepared and merged another PR just now. It works properly now. Hence, I think this task is complete and I'm closing the issue.


Deprecate Institutions Config and Use CustomField for OSDF

Now that we have a custom field config lets remove the OSDF only namespace field on the registry.
This needs to be preempted by the custom config UI.

I'm pretty sure the optionUrl and validationUrl fields in the custom configuration is not implemented yet. I'll open a different ticket to work on that.

@haoming29 Going to remove myself as this is just a backend change.


BREAKING CHANGE: make targets in Targets optional

This change is relevant to the new metadata class Targets.
In the specification, when describing the Targets metadata file format
and more precisely "TARGETPATH" (or targets containing the actual
target files) it's said:
It is allowed to have a TARGETS object with no TARGETPATH elements.
This can be used to indicate that no target files are available.

We have to fix this and allow target files with no targets!
See: https://theupdateframework.github.io/specification/latest/#targetpath
Signed-off-by: Martin Vrachev<EMAIL_ADDRESS>
[x] The code follows the Code Style Guidelines
[x] Tests have been added for the bug fix or new feature
[x] Docs have been added for the bug fix or new feature

It is allowed to have a TARGETS object with no TARGETPATH elements.

This doesn't mean the spec allows dropping the "targets" key altogether, it just means the value (the array/list) can be empty.

@jku you are right.
If there is no TARGETPATH this would mean that Targets.targets will be {}.
Then, the purpose of this pr changes to provide a unit test that makes sure we support Targets.targets equal to {}.
I updated the pr and commit description and titles as well as the code.

I marked this draft but I think I didn't see the latest changes when I did -- so I maybe did the wrong thing accidentally: I'm un-drafting it on that assumption


New parsers bracket and consumeWith

Hello and appreciate your great work.
It's super fun to make my parser mechs with mecha 👍
I implemented a new parser bracket for my mech (a HTML parser), as well as a supplemental parser consumeWith.
Here I'm opening this pull request just in case you liked them.
If not, just publicizing parserTypes and Combine would be also helpful for me, so that I could implement bracket in my own package.

Can you post an example of an actual parser that uses bracket? I do see the (a b), but I would like to see some actual code before I make further decision on whether to merge this. I mostly wonder how you deal with nesting and such.
Also, pretty sure the consumeWith is the same as combine(.{parser, mecha.eos}) no?

If not, just publicizing parserTypes and Combine would be also helpful for me, so that I could implement bracket in my own package.

This seems like a good idea :)

Thanks for the reply! The actual code is here: https://github.com/hasundue/browse.vim/blob/main/src/parser.zig#L79
The character '-' is included both in the end tag of a HTML comment and the text in it, using combine let the text parser consume "--" of the end tag.
I wouldn't be surprised if there is a better solution though 😅

I mostly wonder how you deal with nesting and such.

TBH I have not considered such tricky cases seriously. Since the implementation is quite straightforward and inefficient, I assume it is only used for simple cases like above.
I was also thinking of making a parser to exclude some cases from combine to realize the same thing, which may be more generic and useful.

Also, pretty sure the consumeWith is the same as combine(.{parser, mecha.eos}) no?

Absolutely. I was dumb.

Thanks for the reply! The actual code is here: https://github.com/hasundue/browse.vim/blob/main/src/parser.zig#L79
The character '-' is included both in the end tag of a HTML comment and the text in it, using combine let the text parser consume "--" of the end tag.
I wouldn't be surprised if there is a better solution though sweat_smile

Aah, i see. In that case, I think you might be able to do:
const comment = m.discard(m.combine(.{
    m.string("<!--"),
    m.utf8.not(m.string("-->")),
    m.string("-->"),
}));

Oh wow, this does work 😅
I didn't notice not is actually defined there.
I'm gonna try this approach until I find any problem.
You can safely close this PR.
Thank you for taking time 🙏

Happy to help :+1:


[sass|scss] ::slotted() selector throws fatal error

I'm currently in the process of upgrading a project to use W3C spec Custom Components, and am running into an issue with the ::slotted psuedo-element.
Here's some links for reference:
W3C Spec for Shadow DOM
W3C Spec for ::slotted
Custom Elements - MDN
What version of Sass Lint are you using?
1.10.2
Please include any relevant parts of your configuration
As far as I can tell this is not a configuration issue. My guess, if I had one on what is happening, is that this is the first pseudo-element that takes parameters, and the linting engine is getting confused by the parentheses at the end of the selector i.e. ::slotted(.my-class)
What did you do? Please include the actual source code causing the issue.
Here's an example of the issue.
The HTML would be:
<!--In the shadow DOM-->
<slot name="widget-icon"></slot>

Here's the sass. Essentially, the css will style the top-level element/s with the slot name "widget-icon"; Any selector can be used in place of the '*'.
slot[name=widget-icon]::slotted(*) {
    ...
}

This could also be written as the follow:
slot {
    &[name=widget-icon]::slotted(*) {
            ...
     }
}

-or-
slot {
    &[name=widget-icon] {
        &::slotted(*) {
            ...
        }
    }
}

What did you expect to happen?
This shouldn't produce any linting errors as long as the syntax is correct, since it is valid way of writing the selector for a slotted item.
What actually happened? Please include any error messages given to you by Sass Lint.
Every use of the ::slotted pseudo-element produces this error:
- Please check validity of the block starting from line #X  Fatal

Building and running the compiled css code works as expected, so this is strictly an linting bug.
If you're using a IDE plugin have you tried the CLI too?
I have tried using gulp-sass-lint and the sass-lint CLI; Not actually using any integration with my IDE.

Hi there, you'll need to report this to the AST we use, gonzales-pe the fatal errors are thrown by that.

Ok thanks. I'll go ahead and do that.

::slotted is now supported so these issues should be fixed as of v1.11.1


EK100 Train Metadata videoMAE

Hi, thanks for sharing the nice work!
I'm planning to run the 'AVION/scripts/main_videomae_pretrain.py' and it needs the '--train-metadata' argument. I checked the rest of the code and it seems it expects something different than the 'EPIC_100_train.csv' file in the original EK100 annotation repo here.
I can guess how the data format is and I can create the expected file for the original videos, but I'm wondering how it would be with your resized and chunked dataset version.
Could you please help me with this?

Hi @AmirSh15
We did not implement the VideoMAE on Epic-Kitchens. The experiments were done on Kinetics. You can follow https://github.com/zhaoyue-zephyrus/AVION/tree/main/datasets#kinetics to make EPIC-Kitchens videos compatible with the classification dataset for Epic-Kitchens. One simple solution is to trim the raw videos into small clips based on the annotation. The length of clips is typically short enough so you don't need to further chunk them.


tomcat9 is Incompatible with dubbo 2.7

Environment

Dubbo version: 2.7.*
Operating System version: xxx
Java version: 8
springboot: 2.2.4

Steps to reproduce this issue

I want to use dubbo with springboot
Need two protocol - rest and dubbo
Rest server is tomcat, and I use tomcat9 in my project

Exception
An attempt was made to call a method that does not exist. The attempt was made from the following location:

    org.apache.dubbo.remoting.http.tomcat.TomcatHttpServer.<init>(TomcatHttpServer.java:66)

The following method did not exist:

    org.apache.catalina.connector.Connector.setProtocol(Ljava/lang/String;)V

The method's class, org.apache.catalina.connector.Connector, is available from the following locations:

    jar:file:/Users/leeco/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.30/tomcat-embed-core-9.0.30.jar!/org/apache/catalina/connector/Connector.class

It was loaded from the following location:

    file:/Users/leeco/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.30/tomcat-embed-core-9.0.30.jar

What`s wrong
The code is "tomcat.getConnector().setProtocol("org.apache.coyote.http11.Http11NioProtocol");"

tomcat8.5.31 is ok. but the function setProtocl is Deprecated.

related doc link: https://tomcat.apache.org/tomcat-8.5-doc/api/org/apache/catalina/connector/Connector.html#setProtocol(java.lang.String)


Multiple Platform/Accessories

Hi all, I am trying to add fibaro and LGTv2 plugin and got an error. Can anyone help? The error is
[11/27/2016, 9:18:02 PM] There was a problem reading your config.json file.
[11/27/2016, 9:18:02 PM] Please try pasting your config.json file here to validate it: http://jsonlint.com
[11/27/2016, 9:18:02 PM]
/usr/lib/node_modules/homebridge/lib/server.js:194
throw err;
^
SyntaxError: Unexpected token a in JSON at position 473
at Object.parse (native)
at Server._loadConfig (/usr/lib/node_modules/homebridge/lib/server.js:188:19)
at new Server (/usr/lib/node_modules/homebridge/lib/server.js:49:23)
at module.exports (/usr/lib/node_modules/homebridge/lib/cli.js:26:16)
at Object. (/usr/lib/node_modules/homebridge/bin/homebridge:17:22
My Config.Json is as below.
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": ,
"pin": ""
},
"description": "This is an example configuration file. You can use this as a template for creating your own configuration file.",

"platforms": [{
	"platform": "FibaroHC2",
	"name": "FibaroHC2",
	"host": "xxxxx",
	"username": "xxxx",
	"password": "xxxxx",
	"grouping": "none",
	"pollerperiod": "2"

}],
"accessories": [{
"accessory": "LGTv2",
      "name": "TV",
      "mac": "*****",
      "ip": "xxxx"
    }
  ]
}
Can anyone help on this?

port and pin missing!
	"bridge": {
		"name": "Homebridge",
		"username": "CC:22:3D:E3:CE:30",
		"port": 51826,
		"pin": "031-45-154"
	},

Hi,
I have tried input the port and pin, but still having the same error. Any more ideas?

have you checked you config.json here?: http://jsonlint.com
Valid JSON?

Yes. I have checked and its a valid Json. not sure whats wrong! :(

try using only the platform or the accessory at once.
homebridge version?
Raspberry Pi?
OS version?
node version?

You are missing " quotes on the word platform

Hi,
I have tried. If its only the Platform, it works. But when I only run with
the accessory, it does not. And the same error happens when I run with both.
Any more ideas? Sorry for the trouble as I am totally new to this and not
sure what is going on.
Thanks
On Wed, Nov 30, 2016 at 7:03 AM, Peter<EMAIL_ADDRESS>wrote:

You are missing " quotes on the word platform
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nfarina/homebridge/issues/954#issuecomment-263728999,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AXFfAu5BfNzsxyy_sbDcB_sFjyX3T4UVks5rDK9dgaJpZM4K9JZp
.

I'm afraid, but if you don't answer the questions, wen cannot help you.
homebridge version?
Raspberry Pi?
OS version?
node version?

Can you try this and tell us
{
"bridge": {
"name": "Homebridge",
"username": "CC:22:3D:E3:CE:30",
"port": 51826,
"pin": "031-45-154"
},
"platforms": [{
	"platform": "FibaroHC2",
	"name": "FibaroHC2",
	"host": "xxxxx",
	"username": "xxxx",
	"password": "xxxxx",
	"grouping": "none",
	"pollerperiod": "2"
}],

"accessories": [{
	"accessory": "LGTv2",
	"name": "TV",
	"mac": "3b:3b:3b:3b:66:33",
	"ip": "<IP_ADDRESS>"
}]

}


mobile: support wallets via edge-agent

What I'm trying to do
Create bindings such that the edge-agent library can be used from within a mobile application.
Expected result
A folder under cmd that will have importable libraries for native Android and iOS apps.
Checklist
Confirm this...

[ ] register wallet
[ ] create, import and get DIDs
[ ] generate presentation
[ ] relationships
[ ] dev mode:

[ ] connections

[ ] (un)register with a mediator
[ ] create and receive invitations
[ ] view connections

[ ] issue credentials
[ ] present proof

These are implemented in https://github.com/trustbloc/agent-sdk/tree/main/cmd/agent-mobile


changed links from beta2-beta3

Signed-off-by: Ayushman Mishra<EMAIL_ADDRESS>This pr fixes #30058
DESCRIPTION : I have changed the links as required in issue and made it into one commit.

/assign @celestehorgan

/approve


(maint) Remove dead caching code from configurer

Attempting to read from the cached :configuration section to get the :compile_time would create an empty :configuration section that would get written back to the state.yaml. The :compile_time is never written to in the cache, and the attr_reader (and instance variable) are never used beyond the initialization, so we can safely delete the code entirely.

jenkins please test this

CLA signed by all contributors.


Registry method for getting all registered categories

Add a means of getting all unique categories from registered commands.

Added in https://github.com/SpiderlingStudio/Commandler/commit/48e384f3be96c329c971def82c319681a50c3e08


Contact backer

A backer donated more than he indicated in his donation. Maybe he made a mistake making the wire transfer, maybe while putting his contribution on OC. In any case, I would like to reach out to him and ask him, but I don't know how. How can I get in touch with a backer?
Thank you!!

URL:
Logged in as (username or profile URL):
Error message if any:
Expected result:
Browser:

@leena4c Can you engage with support -><EMAIL_ADDRESS>?

For anyone stumbling on this question:
You can export the emails of your contributors through Settings > Export > Export CSV.


React 16 beta: findDOMNode return null

Hi!

Since i updated to the new version beta of react and react-dom, CellMeasurer.js is broken at this point:
var node = (0, _reactDom.findDOMNode)(this);

where node is null
Is there something i am doing wrong?
      <CellMeasurer
        cache={this.cache}
        columnIndex={0}
        key={key}
        parent={parent}
        rowIndex={index}
      >
        {({ measure }) => (
          <div ... />
        )}
      </CellMeasurer>

Thanks!

Seems to work after upgrading to v9.9.0.
Now i have another error when i need to measure() the child of a list

      <CellMeasurer         cache={this.cache}         columnIndex={0}         key={key}         parent={parent}         rowIndex={index}       >         {({ measure }) => (           <div             style={style}             ref={() => { measure(); }}           >             item           </div>         )}       </CellMeasurer>
:(

Seems to work after upgrading to v9.9.0.

Yes, old version so react-virtualized that were released before the React 16 alpha will not support 16 b'c of the breaking changes to render into subtree. I think version 8 is the oldest version that supports 16 but I'm not sure. It's probably best to update to the latest versions of libs like this when updating a major dependency like React though. 😄
As for the measure thing you mention, the react-virtualized demo site has been running on an alpha version of React 16 for a couple of months now, which includes using the measure param passed by CellMeasurer (source code here). I don't see the issue you've shown in a screenshot, so it's not as easy to reproduce as just using CellMeasurer.
Provide a repro of this and I'll look into it. Maybe it's an RV bug. Maybe it's a React bug. Maybe it's something you're doing in your application. I have no way to know at the moment since I only have a code snippet and a screenshot.

I'm going to close this issue now since (a) the original issue reported only applies to versions of RV that pre-dated React 16 alpha and (b) the secondary issue needs a repro case before I can proceed since I'm not able to repro it on my end. (The live site is using React 16 + CellMeasurer without any problems.)


adding mysql to the docker

Hi, Great work on this Docker file it's working like a charm,
i'm new to this Docker and Containers stuff so i would like to add mysql to it but i think i've crashed every thing.
can you help with that. and thanks in advance

Hi, Thanks for trying this project. And if you have not figured out yet, soon I am going to release another project built on top of this skeleton with database support.

I have added PostgreSQL support in the new version. Thanks!


Error: binutils cannot be built with any available compilers.

Following the standalone instructions homebrew can't install anything because it wants a gcc that only it can provide.
$ brew install glibc
==> Installing dependencies for glibc: binutils, linux-headers
==> Installing glibc dependency: binutils
Error: binutils cannot be built with any available compilers.
To install this formula, you may need to:
  brew install gcc

I had installed linuxbrew on this sytem before but today I wanted to just start over.
Previously, I went through this process and it worked great so I guess this is a new bug.

As a workaround I went back to this commit:
commit c569aa8d12cb6566b70968fb5f82b1c272edecf6
Author: Shaun Jackman<EMAIL_ADDRESS>Date:   Wed May 6 10:36:31 2015 -0700

And all is well. So, I figure, sometime between then and now homebrew got real uptight about which compilers you can use and linuxbrew didn't notice.

Tried using git bisect to find the exact commit where it went bad but the technique doesn't work with linuxbrew because you always get:
Warning: Xcode is not installed. Most formulae need Xcode to build.
It can be installed from
  https://developer.apple.com/downloads
Error: Permission denied @ dir_s_mkdir - /Library

I guess some intermediate commits miss some patches.

The GCC compiler must be named gcc-4.x or gcc-5. You can create a symlink for gcc and g++. Please report the output of
which -a gcc g++
gcc --version

cavtools@vm bzip2-1.0.6]$ which -a gcc g++
/usr/bin/gcc
/usr/bin/g++
[cavtools@vm bzip2-1.0.6]$ gcc --version
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-55)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[cavtools@vm bzip2-1.0.6]$ gcc
gcc         gcc-4.4     gcc34       gcc44       gccmakedep
[cavtools@vm bzip2-1.0.6]$ gcc

I have gcc-4.4 in my path. I was aware of that issue so it's just a link to gcc44. I think this is a different issue. As I said, going back just a few months everything is okay.

It may be pickier about the location of the symlink now. It may have to be in $(brew --prefix)/bin Perhaps that's a bug. Try
ln -s /usr/bin/gcc44 `brew --prefix`/bin/gcc-4.4
ln -s /usr/bin/g++44 `brew --prefix`/bin/g++-4.4
which -a gcc-4.4 g++-4.4

Thanks. That did the trick.


Added a basic gym state wrapper

Added GymStateObservationWrapper, a wrapper to replace observations with state. This wrapper leaves the underling environment untouched, so render and properties still work properly

Updated the scripts to add a state representation to the environments. Additionally updated the gym script; gym.make will throw a standard error if the provided id isn't a balid gym ID, not an UnregisteredEnv

Updated .gitignore to ignore PyCharm .idea directory

Sorry for the delay, I've been running some experiments in other environments. I updated the request with your suggestions and commented on why I changed the Error type for the make_env function.

Sorry for the delay, I've been running some experiments in other environments. I updated the request with your suggestions and commented on why I changed the Error type for the make_env function.


Regional Prompting (Node only)

What type of PR is this? (check all applicable)

[ ] Refactor
[x] Feature
[ ] Bug Fix
[ ] Optimization
[ ] Documentation Update
[ ] Community Node Submission

Have you discussed this change with the InvokeAI team?

[x] Yes
[ ] No, because:

Have you updated all relevant documentation?

[ ] Yes
[x] No. Not yet.

Description
This branch makes the following changes to support regional prompting:

Adds a "Create Rectangle Mask" invocation for easily creating masks with nodes.
Adds a mask input to the compel prompt invocations (for both SD and SDXL)
Changes the "Denoise Latents" invocation to accept a collection of positive and negative text conditioning inputs.
Updates the UNet attention modules to apply regional masking in the cross-attention layers.

Here's a sample workflow using the new nodes:

Note about Memory Usage:
When IP-Adapter and/or regional prompting are used, we use a custom attention processor. This attention processor does not currently support xformers or sliced attention, so will use more memory than standard attention when those options are enabled.
The custom attention processor currently uses torch.scaled_dot_product_attention().
If there is enough demand, we could add support for xformers and sliced implementations. But, it probably makes sense to re-think our attention configuration strategy in the context of the latest improvements to torch (which supports low-memory and flash-attention modes).
QA Instructions, Screenshots, Recordings
Completed Tests
Basic functionnality:

[x] CUDA, SDXL, Standard
[x] CUDA, SD, Standard
[x] CUDA, SDXL, Sequential
[x] CUDA, SD, Sequential
[x] CPU, SDXL, Standard

Speed regression tests (run on an RTX4090):

[x] No regression in speed for standard global prompting
[x] The speed cost of using multiple prompts in DenoiseLatents is small. With 3 prompts, the denoise latents time increases from ~9.6s to ~10.2s. The more significant cost is having to run the text encoder N times.
[x] Speed of IP-adapter is unchanged.

Compatibility:

[x] Regional negative prompts
[x] No global prompt, regions do not 100% cover the image.
[x] Compatible with IP-Adapter
[x] Compatible with T2I-Adapter
[x] Compatible with ControlNet

Remaining tests

[ ] ROCm
[ ] mps

Added/updated tests?

[ ] Yes
[x] No

Impressive work. A couple of questions.
* We now have several masks being used at multiple places, including the bitmap inpainting mask, the boolean mask used in regional prompting, and the segment anything mask used in [wip: Segment Anything #5829](https://github.com/invoke-ai/InvokeAI/pull/5829) . Are these compatible with each other? For example, can I use a segment anything mask as a regional prompting mask?

* What is the use case for a rectangular prompting mask?

Re: Masks - That is the intent. They should just be Alpha channel-only images, interchangeable in different contexts. The system does not currently seem to handle "Mask" & "Image" as distinct types, but more as useful labels of the same type of object.
The Rectangular Mask is primarily for creating a Mask from a workflow without importing an existing image. It's obviously not the ideal UX - but we currently lack a better interface in the Workflow editor if the user doesn't want to leave it to create the mask. The nature of the regional prompting ultimately doesn't require an exact shape, so the rectangle is "good enough" for many use-cases.

From a quick skim, all of our new mask formats are likely not compatible. I'll look into fixing that.

I started a thread here to discuss consolidating the mask types: https://discord.com/channels/1020123559063990373/1225113849489915925/1225113851121504416

I've got a branch with a WIP UI (not hooked up to any graphs). It outputs an segmented mask image like this, which I'm using for testing:

I've added a couple nodes to this branch:

ExtractMasksAndPromptsInvocation: Given a segmented mask image and list of prompt-color pairs, derives a mask for each prompt-color pair, outputting a list of prompt-mask pairs. There's a default value for the list of of pairs that matches the above test image.
SplitMaskPromptPair: Splits a single prompt-mask pair into a prompt and MaskField.

I haven't been able to generate with regional prompts, though.
When I recreate @RyanJDick 's example workflow, I get this error:
[2024-04-08 18:00:51,743]::[InvokeAI]::ERROR --> Error while invoking session e714ce61-bc0a-493b-ab9d-f6888d06bea7, invocation 8386e799-d3ca-4456-a1f1-24d6e17ba051 (denoise_latents):
Linear.forward() takes 2 positional arguments but 3 were given
[2024-04-08 18:00:51,743]::[InvokeAI]::ERROR --> Traceback (most recent call last):
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/services/session_processor/session_processor_default.py", line 179, in _process
    outputs = self._invocation.invoke_internal(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/baseinvocation.py", line 281, in invoke_internal
    output = self.invoke(context)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/latent.py", line 937, in invoke
    result_latents = pipeline.latents_from_embeddings(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusers_pipeline.py", line 359, in latents_from_embeddings
    latents = self.generate_latents_from_embeddings(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusers_pipeline.py", line 452, in generate_latents_from_embeddings
    step_output = self.step(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusers_pipeline.py", line 573, in step
    uc_noise_pred, c_noise_pred = self.invokeai_diffuser.do_unet_step(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py", line 241, in do_unet_step
    ) = self._apply_standard_conditioning(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py", line 376, in _apply_standard_conditioning
    both_results = self.model_forward_callback(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusers_pipeline.py", line 646, in _unet_forward
    return self.unet(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/diffusers/models/unets/unet_2d_condition.py", line 1216, in forward
    sample, res_samples = downsample_block(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/diffusers/models/unets/unet_2d_blocks.py", line 1279, in forward
    hidden_states = attn(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/diffusers/models/transformers/transformer_2d.py", line 397, in forward
    hidden_states = block(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/diffusers/models/attention.py", line 329, in forward
    attn_output = self.attn1(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/diffusers/models/attention_processor.py", line 522, in forward
    return self.processor(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusion/custom_atttention.py", line 115, in __call__
    query = attn.to_q(hidden_states, *args)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
TypeError: Linear.forward() takes 2 positional arguments but 3 were given

I adapted the workflow to SD1.5 and get the same error:

Rectangle Regional Prompts - SD1.5.json
[2024-04-08 18:24:55,244]::[InvokeAI]::ERROR --> Error while invoking session bc2f25fa-59bc-4fed-b1b0-7ed133382ef8, invocation 3add961c-2fe6-4db8-96b2-53364d02d064 (denoise_latents):
Linear.forward() takes 2 positional arguments but 3 were given
[2024-04-08 18:24:55,244]::[InvokeAI]::ERROR --> Traceback (most recent call last):
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/services/session_processor/session_processor_default.py", line 179, in _process
    outputs = self._invocation.invoke_internal(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/baseinvocation.py", line 281, in invoke_internal
    output = self.invoke(context)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/latent.py", line 937, in invoke
    result_latents = pipeline.latents_from_embeddings(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusers_pipeline.py", line 359, in latents_from_embeddings
    latents = self.generate_latents_from_embeddings(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusers_pipeline.py", line 452, in generate_latents_from_embeddings
    step_output = self.step(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusers_pipeline.py", line 573, in step
    uc_noise_pred, c_noise_pred = self.invokeai_diffuser.do_unet_step(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py", line 241, in do_unet_step
    ) = self._apply_standard_conditioning(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusion/shared_invokeai_diffusion.py", line 376, in _apply_standard_conditioning
    both_results = self.model_forward_callback(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusers_pipeline.py", line 646, in _unet_forward
    return self.unet(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/diffusers/models/unets/unet_2d_condition.py", line 1216, in forward
    sample, res_samples = downsample_block(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/diffusers/models/unets/unet_2d_blocks.py", line 1279, in forward
    hidden_states = attn(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/diffusers/models/transformers/transformer_2d.py", line 397, in forward
    hidden_states = block(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/diffusers/models/attention.py", line 329, in forward
    attn_output = self.attn1(
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/diffusers/models/attention_processor.py", line 522, in forward
    return self.processor(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusion/custom_atttention.py", line 115, in __call__
    query = attn.to_q(hidden_states, *args)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1511, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1520, in _call_impl
    return forward_call(*args, **kwargs)
TypeError: Linear.forward() takes 2 positional arguments but 3 were given

I tried with attention_type: torch-sdp and xformers, same error on both. I had merged main into this branch, but switching to the last pre-merge commit and re-installing dependencies doesn't change it.

I get a different error if I use the new nodes I created. Here's the workflow:
Arbitrary Regional Prompts.json

And the error:
[2024-04-08 18:16:47,497]::[InvokeAI]::ERROR --> Error while invoking session 76149546-6732-4097-ad5a-365914372f4a, invocation eede7508-9af7-41d4-89bf-0a0668eef7c1 (denoise_latents):

[2024-04-08 18:16:47,497]::[InvokeAI]::ERROR --> Traceback (most recent call last):
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/services/session_processor/session_processor_default.py", line 179, in _process
    outputs = self._invocation.invoke_internal(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/baseinvocation.py", line 281, in invoke_internal
    output = self.invoke(context)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/latent.py", line 909, in invoke
    conditioning_data = self.get_conditioning_data(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/latent.py", line 517, in get_conditioning_data
    cond_text_embedding, cond_regions = self._concat_regional_text_embeddings(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/latent.py", line 472, in _concat_regional_text_embeddings
    regions = TextConditioningRegions(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/backend/stable_diffusion/diffusion/conditioning_data.py", line 86, in __init__
    assert self.masks.shape[1] == len(self.ranges)
AssertionError

I think I need a "global" positive prompt, so I added that and got a different error:
Arbitrary Regional Prompts with global prompt.json

[2024-04-08 18:28:11,117]::[InvokeAI]::ERROR --> Error while invoking session af3ddd99-2f63-49c0-8b37-c6cd5bcf5c15, invocation 7afcbe9e-8d12-42b6-9727-6989651fbb3b (denoise_latents):
Tensors must have same number of dimensions: got 3 and 4
[2024-04-08 18:28:11,117]::[InvokeAI]::ERROR --> Traceback (most recent call last):
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/services/session_processor/session_processor_default.py", line 179, in _process
    outputs = self._invocation.invoke_internal(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/baseinvocation.py", line 281, in invoke_internal
    output = self.invoke(context)
  File "/home/bat/.invokeai/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/latent.py", line 909, in invoke
    conditioning_data = self.get_conditioning_data(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/latent.py", line 517, in get_conditioning_data
    cond_text_embedding, cond_regions = self._concat_regional_text_embeddings(
  File "/home/bat/Documents/Code/InvokeAI/invokeai/app/invocations/latent.py", line 473, in _concat_regional_text_embeddings
    masks=torch.cat(processed_masks, dim=1),
RuntimeError: Tensors must have same number of dimensions: got 3 and 4

I suspect I'm not creating the mask tensor in the correct shape in my node.

Here's the very rough regional prompt UI (no feedback needed at this point, it's just functional enough for testing):
https://github.com/invoke-ai/InvokeAI/assets/4822129/76ca0e48-c396-4182-b839-eca89e91b3e3

@psychedelicious I have addressed your first error (TypeError: Linear.forward() takes 2 positional arguments but 3 were given) in 98900a7. See that commit's message for more info. I wasn't hitting it, because I had peft installed, which was triggering slightly different behaviour.

@psychedelicious The errors coming from your new nodes are addressed in 826f3d6


TypeInitializationException on ControlCatalog.Desktop

When try tu run Control Catalog.Desktop from last source code trows following exception:
System.TypeInitializationException
  HResult=0x80131534
  Message= the type initializer for 'Avalonia.Skia.PlatformRenderInterface'  threw an exception.
  Source=Avalonia.Skia
  StackTrace:
   at Avalonia.Skia.PlatformRenderInterface..ctor(ISkiaGpu skiaGpu, Nullable`1 maxResourceBytes) in C:\GitHub\Avalonia\src\Skia\Avalonia.Skia\PlatformRenderInterface.cs:line 36
   at Avalonia.Skia.SkiaPlatform.Initialize(SkiaOptions options) in C:\GitHub\Avalonia\src\Skia\Avalonia.Skia\SkiaPlatform.cs:line 21
   at Avalonia.SkiaApplicationExtensions.<>c__0`1.<UseSkia>b__0_0() in C:\GitHub\Avalonia\src\Skia\Avalonia.Skia\SkiaApplicationExtensions.cs:line 20
   at Avalonia.Controls.AppBuilderBase`1.Setup() in C:\GitHub\Avalonia\src\Avalonia.Controls\AppBuilderBase.cs:line 304
   at Avalonia.Controls.AppBuilderBase`1.SetupWithLifetime(IApplicationLifetime lifetime) in C:\GitHub\Avalonia\src\Avalonia.Controls\AppBuilderBase.cs:line 179
   at Avalonia.Controls.AppBuilderBase`1.Start[TMainWindow](Func`1 dataContextProvider) in C:\GitHub\Avalonia\src\Avalonia.Controls\AppBuilderBase.cs:line 143
   at ControlCatalog.Program.Main(String[] args) in C:\GitHub\Avalonia\samples\ControlCatalog.Desktop\Program.cs:line 17

Inner Exception 1:
BadImageFormatException: attempt was made to load a program with an incorrect format(Exception  HRESULT: 0x8007000B)

   at SkiaSharp.SkiaApi.sk_font_new()
   at SkiaSharp.SKFont..ctor()
   at Avalonia.Skia.PlatformRenderInterface..cctor() in C:\GitHub\Avalonia\src\Skia\Avalonia.Skia\PlatformRenderInterface.cs:line 160

OS: Windows 10 2004 (19041.508)
Video Card: Intel HD 4400 driver <IP_ADDRESS>35
Build Env: Microsoft Visual Studio 2019 Version 16.7.2+30413.136

It seems .Net Framework sample is broken now.
.Net Core one is fine though.

Ok, so I wasn't alone on this one. Since it was my first ever attempt I assumed it was me or my setup but maybe not then...

the problem occurs when the platform is set to any. If you set it to x86 or x64 it works fine.
If you want you can close the issue.


Fixes #393 #396 #397 #398 #399 GtfsXXX issues

This PR fixes the following GtfsXXX issues:
#393 #396 #397 #398 #399

@jmcanterafonseca  could you review and merge this?
Thanks

build is broken, please check
https://travis-ci.org/FIWARE/dataModels/jobs/514690470

build is broken, please check
https://travis-ci.org/FIWARE/dataModels/jobs/514690470

Fixed in de63f49


[QUESTION] Where is the "Predict Epochs" button?

In RVC training, the how-to tab talks about a 'Predict Epochs' button:
                            * You can click the "Predict epochs" button to set your training epochs to the recommended amount based on how much data you have.
*
But, in the webui I don't see such a button. Where is it?
If that functionality is gone, maybe can we have a rule of thumb on how many epochs to train for per x minutes of input data?
Thanks!

It was removed because it wasn't as good as i had hoped. And it's better to just put in your own numbers. I'll remove it from the help.
I recommend if you have 10 minutes of audio, train for 50 epochs at least.
If you have 30 minutes of audio, training for 10 epochs will usually be enough.
If you notice it hasn't trained enough, continue training from that checkpoint by refreshing the model list, selecting the highest number, and continuing training.

It was removed because it wasn't as good as i had hoped. And it's better to just put in your own numbers. I'll remove it from the help.
I recommend if you have 10 minutes of audio, train for 50 epochs at least. If you have 30 minutes of audio, training for 10 epochs will usually be enough.
If you notice it hasn't trained enough, continue training from that checkpoint by refreshing the model list, selecting the highest number, and continuing training.

How do you use the new model in txt2speech?

How do you use the new model in txt2speech?

If you're talking about RVC, which this issue is about, you have to first generate audio with text to speech, then use that audio as the input for RVC for voice conversion (voice changer).


Enhancement: Improve Browser Plugin

Contact Details
<EMAIL_ADDRESS>What features would you like to see added?
I would like to suggest the addition of a browser plugin for LibreChat that is capable of crawling websites, even when their content is loaded using JavaScript. Similar to the WebPilot plugin in ChatGPT, this plugin would utilize Puppeteer, a library that functions like a browser.
More details
I believe that such a plugin and the ability to upload documents are essential for the project in order to increase its reach. These features would greatly enhance the capabilities of LibreChat and make it a better ChatGPT. The reaction of users on social media clearly demonstrates the importance of this browser plugin, as they actually express their disappointment when it is disabled.
Which components are impacted by your request?
General
Pictures
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I understand. My initial thoughts are that any javascript browser solution will have to work very similarly to the way it works with ChatGPT, it will have to be a specific mode as the LLM will need a wide variety of instructions on how to work with browsing pages. Essentially a mode that disables all other plugins as it needs a special suite of plugins.

Uploading documents is in the works here, there are a lot of exciting features to take on and I've been paving the way with under-the-hood changes to optimize for this.

Thank you for your work, I'm really looking forward to the first results with the documents.
The OpenAi with the browser can be different, the standard browser of langchain is unfortunately very simple and not really fun because many requests don't work.

Instead of using the regular WebBrowser tool in Langchain, you can also create your own tool using the DynamicTool.
Instead of having the code like this:
...

import { WebBrowser } from "langchain/tools/webbrowser";

...

const tools = [
  new WebBrowser({ model, embeddings }),
];

...

You can solve the whole thing like this:
...

import puppeteer from "puppeteer";
import { DynamicTool } from "langchain/tools";

...

const tools = [
  new DynamicTool({
    name: "FETCH_WEBPAGE",
    description: "call this to fetch a webpage. input should be the URL of the webpage.",
    func: async (url) => {
      const browser = await puppeteer.launch();
      const page = await browser.newPage();
      await page.goto(url, { waitUntil: "networkidle2" });
      const content = await page.evaluate(() => {
        return document.body.innerText;
      });
      await browser.close();
      return content;
    },
  }),
];

...

You can still include the OpenAI embedding part; I've removed the entire HTML stuff just for simplicity.
heres an example
example.zip
npm init
npm run test

Instead of using the regular WebBrowser tool in Langchain, you can also create your own tool using the DynamicTool.
Instead of having the code like this:
...

import { WebBrowser } from "langchain/tools/webbrowser";

...

const tools = [
  new WebBrowser({ model, embeddings }),
];

...

You can solve the whole thing like this:
...

import puppeteer from "puppeteer";
import { DynamicTool } from "langchain/tools";

...

const tools = [
  new DynamicTool({
    name: "FETCH_WEBPAGE",
    description: "call this to fetch a webpage. input should be the full URL of the webpage with https:// .",
    func: async (url) => {
      const browser = await puppeteer.launch();
      const page = await browser.newPage();
      await page.goto(url, { waitUntil: "networkidle2" });

  // look and remove eu cookie banner
  const cookieBannerElements = await page.$x(
    '//*[contains(@class, "cookie") or contains(@class, "banner") or contains(@id, "cookie") or contains(@id, "banner")]'
  );
  if (cookieBannerElements.length > 0) {
    await cookieBannerElements[0].evaluate((element) => element.remove());
  }

      const content = await page.evaluate(() => {
        return document.body.innerText;
      });
      await browser.close();
      return content;
    },
  }),
];

...

You can still include the OpenAI embedding part; I've removed the entire HTML stuff just for simplicity.
heres an example example.zip
npm init
npm run test

Source: https://js.langchain.com/docs/modules/agents/tools/how_to/dynamic

have you tested it? i think there may be several implementations of this already will have to look around

also if we look at the official chatgpt browsing instructions, it seems like it's just chatgpt primed with a few different functions it can use, so the most optimal would probably be a suite of browsing tools

I have already been able to test it successfully and also made attempts to build a really good browser.  That means I have built in functions such as

automatic detection of cookie banners
Text extraction without HTML
Text extraction only if the div has more than 200 characters
etc

I can do that in here tomorrow.  Unfortunately, the browser thing is annoying, I noticed it again today when I wanted to summarize a long Reddit post, but LibreChat was not able to crawl it.

I can do that in here tomorrow. Unfortunately, the browser thing is annoying, I noticed it again today when I wanted to summarize a long Reddit post, but LibreChat was not able to crawl it.

do you mean the current browser/native langchain solution? it would make sense since reddit uses JS heavily and raw html can't scrape it

I have already been able to test it successfully as standanlone and also made attempts to build a really good browser. That means I have built in functions such as
* automatic detection of cookie banners

* Text extraction without HTML

* Text extraction only if the div has more than 200 characters

* scroll to bottom

* etc

awesome! will you submit a PR?

https://github.com/danny-avila/LibreChat/pull/758


Improve documentation for modal

The github page for the modal component describes how to implement the modal itself and includes a demo, but doesn't detail how to fire a modal

Showing the modal is done via the conditional around the modal, just like you'd show a div or anything else :)

True. Still, it might be nice to include the source for the demo button as well so it's a complete example

Yep, absolutely, but at least you're not stuck in the mean time

@nflbeezy if you have the time, would you mind sharing how to fire a modal?

As @truenorth said above, you'd just wrap it in a conditional, which can be set anywhere. Here's one example using a button to fire a modal like in the docs:
{{md-btn text='Button' action='openModal'}}

{{#if showModal}}
    {{#md-modal action="closeModal"}}

Hello Modal

Oh hai there!

                Agree

                Cancel

    {{/md-modal}}
{{/if}}

where the actions openModal() and closeModal()/agree() on your component or controller toggle the property showModal.

@nflbeezy thanks so much, i'm very new to ember and front-end stuff in general. It does seem quite obvious now.

No worries. Give it a shot and definitely call me out if it doesn't work!


remove special-case range clamps for the fp16 divide test

In the fp32 divide test, the range clamps are needed for the "fast relaxed math" testing, but there is no "fast relaxed math" testing for fp16.  This means that the range clamps are unnecessary and can be removed.

Need some time to test and review this.

All of the CI builds are passing now, except for the known issues with the code formatting in the fp16-staging branch.  Merging as discussed in the April 9th teleconference.


Colors, icons and popups are not working anymore

I used this plugin for the past few months without any problems. Now there seem to be some issues: I can't get any colors apart from the basic ones like blue, red, green, white and so on, to work. As soon as I try something like cadetblue, salmon or darkgreen, the marker turns red.
this used to work:
[map-leaflet lat=47.395 lng=8.039 zoom=16 mapname=neighbourhood style=neighbourhood scale] [a-markers markerColor="cadetblue" iconColor="white"] [{ "lat": 47.3962, "lng":8.03759, "icon": "robot", "title": "Prozessor" }] [/a-markers] [/map-leaflet]
But now the marker is red and there's no icon. The popup appears somewhere on the map but not close to the marker. I'm not sure if the last one used to work or was styled differently.
I also tested the examples in the readme. They had the same issues.

@faebut  Sorry to be so slow. I just discovered a lot of things in spam. The change occurred because I updated the plugin to allow for more providers. Also a different set of markers is now possible. Let me see if I can add new colours with the new markers.

The change is due to a shift to Extra-Marker leaflet plugin. I have put documenting this on the Todo list.


⚠ Mobitopup has degraded performance

In a7d5324, Mobitopup (https://napcard.voz.tech) experienced degraded performance:

HTTP code: 200
Response time: 3786 ms

Resolved: Mobitopup performance has improved in dcc8f31 after 7 minutes.


[No QA] Update react-navigation StrictMode patch to work also for native apps

Details
This is a simple follow-up to original React concurrent + StrictMode PR.

updates the patch to react-navigation and applies exactly the same changes to another file. The reason for this change is because web build is using JS files inside */lib/module dir, whereas the native app build is using raw TS files in */src/. So we need the same file patched in 2 places.
this will be needed for update to RN 0.74 here: https://github.com/Expensify/App/pull/40548
does not affect current app in any way - the original patch still works, nothing else was modified

Fixed Issues

$ https://github.com/Expensify/App/issues/33531
PROPOSAL:
Tests

[ ] Verify that no errors appear in the JS console

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@mountiny any possibility to speed this up a bit? I treat this as a followup after StrictMode, and its just the same patch to another file

title updated

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/mountiny in version: 9.0.5-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 9.0.5-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/thienlnam in version: 9.0.6-8 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Disappearing tokens in postprocessing

When I use the following as a seed, "G G | G 2 c c c 2 B c | d e f d e 4 | M:3/4", and set M:4/4 and K:Cmaj, I get the following output from my command line script:
M:4/4
K:Cmaj
GG|G2ccc2Bc|defde4|M:3/4GABc2d2|egdef2G2|G2ccc2Bc|defde4|eAAcdBGG|dedBc2d2|efede2d2|cdedc2G2|effde2G2|ddedc4|cdeff2fd|edeBd4|cdefg2A2|G2ABc2z2|
The web interface shows the M:3/4 is preserved, but then it disappears after finishing. It should remain.
Maybe something is wrong with the post-processing in consumers.py?

The buried meter token is removed in the abc2abc formatting of the rnn generated abc.
It happens here: https://github.com/tobyspark/folk-rnn-webapp/blob/master/folk_rnn_site/composer/consumers.py#L77
So this behaviour is by-design. Note as well as what the webapp uses in the database, the raw abc and post-processed abc are archived to disk:
$ ls -l /var/opt/folk_rnn_task/tunes/
total 888
-rw-rw-r-- 1 vagrant vagrant  956 Feb 23 10:11 without_repeats_tallis_170
-rw-rw-r-- 1 vagrant vagrant 1552 Feb 23 10:11 without_repeats_tallis_170_raw
-rw-rw-r-- 1 vagrant vagrant  849 Feb 25 13:28 without_repeats_tallis_181
-rw-rw-r-- 1 vagrant vagrant 1431 Feb 25 13:28 without_repeats_tallis_181_raw
-rw-rw-r-- 1 vagrant vagrant  690 Feb 26 13:47 without_repeats_tallis_195
-rw-rw-r-- 1 vagrant vagrant 1155 Feb 26 13:47 without_repeats_tallis_195_raw
-rw-rw-r-- 1 vagrant vagrant  973 Feb 26 13:49 without_repeats_tallis_196
-rw-rw-r-- 1 vagrant vagrant 1698 Feb 26 13:49 without_repeats_tallis_196_raw
[...]
-rw-rw-r-- 1 vagrant vagrant  230 Feb 22 22:37 with_repeats_100
-rw-rw-r-- 1 vagrant vagrant  318 Feb 22 22:37 with_repeats_100_raw
-rw-rw-r-- 1 vagrant vagrant  215 Feb 22 22:40 with_repeats_101
-rw-rw-r-- 1 vagrant vagrant  296 Feb 22 22:40 with_repeats_101_raw
-rw-rw-r-- 1 vagrant vagrant  229 Feb 22 22:41 with_repeats_102
-rw-rw-r-- 1 vagrant vagrant  320 Feb 22 22:41 with_repeats_102_raw
-rw-rw-r-- 1 vagrant vagrant  230 Feb 22 22:46 with_repeats_103
-rw-rw-r-- 1 vagrant vagrant  324 Feb 22 22:46 with_repeats_103_raw
-rw-rw-r-- 1 vagrant vagrant  225 Feb 22 22:46 with_repeats_104
-rw-rw-r-- 1 vagrant vagrant  313 Feb 22 22:46 with_repeats_104_raw
-rw-rw-r-- 1 vagrant vagrant  247 Feb 22 22:46 with_repeats_105
[...]


Update bundle-cancellation libraries

Clarified which two libraries the eth_cancelBundle existed in to help developers directly understand which providers they could use. I work at Alchemy and we got dev feedback that this section was a bit unclear as they were building

Sorry for not reviewing it for so long! Would love to have the PR again if you can make the change to the latest main branch!


Show some type of error if Agent or PDK is not found when starting

I thought that it was a good idea to try PDK instead of the Puppet Agent.
So I installed PDK and uninstalled my Agent and wondered why I couldn't get the extension to use it. Some googling told me that I needed to set the puppet.installType to PDK.
It would've be nice if VSCode told me that using a Popup or something.

Thanks for the feedback @rogermartensson, what version of the extension are you running? If it's not at least 0.11.0, you're missing out on some new things, namely back in July in PR #302 we added a message that pops up if the Puppet agent or PDK cannot be found.
We also have some guidance in the Configuration section of the readme that talks about how to set which one the extension uses, and where to look for the install directory.

Strange.. I'm at 0.13.0 and I didn't see the warning at all. How often do this warning show? Every time I enter a .pp file, at install or at startup? If it's at startup then I could understand why I may have missed it. I don't restart VSCode that often. :)
When I upgraded I had an older Agent running. Some time after the install I uninstalled the agent and installed the latest PDK since you added support for it and wanted to try it. I did restart VSCode after this and can't remember a warning. Doesn't mean it may not have been shown. Only that I might have missed seeing it.

I'm going to close this out, as there is a warning it can't be found. Feel free to reply if it did not pop for you.


chore: Remove dependabot in favor of renovate

Purpose
With the introduction of renovate, we need to disable dependabot.

How can I check that Renovate is in place and is able to replace the current dependabot config?

How can I check that Renovate is in place and is able to replace the current dependabot config?

You can check the open pull requests and notice that we have 2 dependency-related  providers

The 2 Pull Request are very different.
Renovate is acting only on the lock file, which sounds nasty at first sight as the version in the package.json won't be tested anymore.

The 2 Pull Request are very different.
Renovate is acting only on the lock file, which sounds nasty at first sight as the version in the package.json won't be tested anymore.

and in fcact there is another Renovate PR which is similar to the one provided


going a little nuts

I'm not working with this correctly. I'm trying to work with UDF values. Say I've got a UDF called 'Location' for a contact and I want to set the UDF of Location to a specific UDF ID (get-atwsuserdefinedfieldlistitem -All)
set-atwscontact -lastname [name] -userdefinedfields ????
I honestly have looked for a couple days and I can't figure this one out. How do I set the user defined fields?

Hey,
UDF's are a bit of a pain. Ive had issues previously regarding setting multiple UDF values at the same time, so i had to apply one at a time. Not an issue right now though.
You can do this to create an item (or set) with multiple UDF values:
$Now = Get-Date
$Parms = @{
    StartDate                              = Get-Date -Day 1 -Month $Now.Month -Year $Now.Year -Hour 0 -Minute 0 -Second 0 -Millisecond 0
    EndDate                                = Get-Date -Day 1 -Month $Now.Month -Year ($Now.Year + 3) -Hour 0 -Minute 0 -Second 0 -Millisecond 0
    AccountID                              = $Group.Group[0].AccountID
    ContractName                           = 'TJENESTER - {0}' -f $Tag #{0} -f $group.Group[0].displayName
    ContractType                           = 'Recurring Service' #7
    Status                                 = 'Active'
    Description                            = 'asdfasfd.'
    ContractPeriodType                     = 'Monthly'
    ServiceLevelAgreementID                = 'Responstid 8 timer'
    BusinessDivisionSubdivisionIDasdfasf  = 15
    UserDefinedFields                      = [Autotask.UserDefinedField]@{Name = 'Kontraktsbeskrivelse'; Value = 'TJENESTER' }, [Autotask.UserDefinedField]@{Name = 'Firma'; Value = 'ESO' }
    TimeReportingRequiresStartAndStopTimes = 'false'
    SetupFee                               = '0'
}
$NewContract = New-AtwsContract @Parms

`
When you set an UDF you can input an array of [Autotask.UserDefinedField], like above. I do believe the Name='x' is case sensetive.

@aciesler Got it working? If not, feel free to write back.


Esp-radio does not play resolved URL

Hi,
I tried to play br-br3-live.cast.addradio.de/br/br3/live/mp3/mid but Esp-radio failed to play. Instead it output:
22:27:32.814 -> D: Command: station with parameter br-br3-live.cast.addradio.de/br/br3/live/mp3/mid
22:27:32.814 -> D: STOP requested
22:27:32.814 -> D: Stopping client
22:27:33.325 -> D: Song stopped correctly after 0 msec
22:27:33.969 -> D: Connect to new host br-br3-live.cast.addradio.de/br/br3/live/mp3/mid
22:27:34.015 -> D: Connect to br-br3-live.cast.addradio.de on port 80, extension /br/br3/live/mp3/mid
22:27:34.198 -> D: Connected to server
22:27:34.198 -> D: Switch to HEADER
22:27:34.198 -> D: Server: nginx
22:27:34.198 -> D: Content-Length: 0
22:27:34.198 -> D: Connection: close
22:27:34.198 -> D: Cache-Control: no-cache, no-store
22:27:34.198 -> D: Expires: Mon, 26 Jul 1997 05:00:00 GMT
22:27:34.198 -> D: Access-Control-Allow-Origin: *
22:27:34.245 -> D: Access-Control-Allow-Headers: Origin, Accept, X-Requested-With, Content-Type
22:27:34.245 -> D: -Allow-Headers: Origin, Accept, X-Requested-With, Content-Type seen.
22:27:34.245 -> D: Access-Control-Allow-Methods: GET, OPTIONS, HEAD
22:27:34.245 -> D: Location: http://br-edge-1063-dus-dtag-cdn.cast.addradio.de/br/br3/live/mp3/mid?_art=dj0yJmlwPTE4OC
22:27:34.245 -> D: Switch to DATA, bitrate is 0, metaint is 0
22:27:53.365 -> D: No data input
Notice the output contains "http://br-edge-1063-dus-dtag-cdn.cast.addradio.de/br/br3/live/mp3/mid?_art=dj0yJmlwPTE4OC"
When I tried to play http://br-edge-1063-dus-dtag-cdn.cast.addradio.de/br/br3/live/mp3/mid?_art=dj0yJmlwPTE4OC Esp-radio played the stream! It outputs:
22:28:42.553 -> D: Command: station with parameter br-edge-1063-dus-dtag-cdn.cast.addradio.de/br/br3/live/mp3/mid?_art
22:28:42.553 -> D: STOP requested
22:28:42.553 -> D: Stopping client
22:28:43.065 -> D: Song stopped correctly after 0 msec
22:28:43.711 -> D: Connect to new host br-edge-1063-dus-dtag-cdn.cast.addradio.de/br/br3/live/mp3/mid?_art=dj0yJmlwPTE
22:28:43.758 -> D: Connect to br-edge-1063-dus-dtag-cdn.cast.addradio.de on port 80, extension /br/br3/live/mp3/mid?_a
22:28:43.945 -> D: Connected to server
22:28:43.990 -> D: Switch to HEADER
22:28:43.990 -> D: Content-Type: audio/mpeg
22:28:43.990 -> D: audio/mpeg seen.
22:28:43.990 -> D: icy-br:128
22:28:43.990 -> D: ice-audio-info: bitrate=128
22:28:43.990 -> D: icy-br:128
22:28:43.990 -> D: icy-description:BAYERN 3
22:28:44.036 -> D: icy-genre:pop music
22:28:44.036 -> D: icy-name:BAYERN 3
22:28:44.083 -> D: icy-pub:1
22:28:44.083 -> D: Server: dg-br-http_dus-dtag_edge_6db87ead817a9f22842173d9953458ca
22:28:44.083 -> D: Cache-Control: no-cache, no-store
22:28:44.083 -> D: Access-Control-Allow-Origin: *
22:28:44.083 -> D: Access-Control-Allow-Headers: Origin, Accept, X-Requested-With, Content-Type
22:28:44.130 -> D: -Allow-Headers: Origin, Accept, X-Requested-With, Content-Type seen.
22:28:44.130 -> D: Access-Control-Allow-Methods: GET, OPTIONS, HEAD
22:28:44.130 -> D: Connection: Close
22:28:44.130 -> D: Expires: Mon, 26 Jul 1997 05:00:00 GMT
22:28:44.130 -> D: icy-metaint:16000
22:28:44.130 -> D: Switch to DATA, bitrate is 128, metaint is 16000
22:28:44.130 -> D: First chunk:
So it seems Esp-radio figures out how to resolve the actual URL but does not play the stream if not given the resolved URL.
How to make Esp-radio play the stream right away?
Thanks & Regards,
Harald

Yes, the URL redirects to another location.  A software change could be made to follow this redirect.  Should not be too difficult.

Yes, the URL redirects to another location.  A software change could be made to follow this redirect.  Should not be too difficult.


Update README with new files

#7 added CONTRIBUTING, CODE OF CONDUCT and GOVERNANCE. These should be referred to from the README.

Closed by #10


Hide task header

with https://github.com/stevenvachon/grunt-log-headers
here's an example of it in a plugin: https://github.com/stevenvachon/grunt-content

You simply can use the grunt-log-headers plugin in combination with grunt-prompt.
Just add
myPromptConfig:{
	options: {
		gruntLogHeader: false,
		questions: [...]
	}
	}

to your grunt-prompt configuration (inside options)


First app version should be 0.1.0 not 0.0.1

following semver breaking.feature.fix

This is your app so it's up to you to put anything there. I guess we could generate 1.0.0 by default. (0.0.1 is also valid semver though.)

Yeah, its not that important, I've just notice that, and 0.0.1 just seems "first fix" instead of "first feature"

This doesn't seem like a very important thing so I'll close this. If many people complain about this we can change it to some other initial version.


fix: Update copy and flag for all toggle buttons on Admin settings page

Description

Updated the copy and flags for all toggle buttons on the Admin settings page so it is easy to understand on the UI.

Fixes #11702
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Go to the Admin Settings page
Click on the Authentication tab.
Click edit for Form Login authentication method.
Check the default toggle value for Form login should be Enabled and the flag should be on.
On clicking the toggle and saving the changes, the form login should turn off (provided some other authentication method is enabled).

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:green_circle: Total coverage has increased
// Code coverage diff between base branch:release and head branch: hotfix/toggle-buttons

Status
File
% Stmts
% Branch
% Funcs
% Lines

:green_circle:
total
55.91 (0)
37.28 (0.01)
35.3 (0)
56.24 (0)

:green_circle:
app/client/src/utils/autocomplete/TernServer.ts
52.94 (0.23)
41.67 (0.84)
36.21 (0)
56.99 (0.25)

/ok-to-test sha=187a947

/ok-to-test sha=187a947

@RakshaKShetty could you please test the deploy preview for this and give confirmation?

Seems good can be merged

/ok-to-test sha=4949e2c