types: Better types for API fields

Follow-up for #21395
This provides more explicit types to replace Dict[str, Any].

@PIG208 thanks for working on this! It definitely feels like an improvement; I've posted a few comments on details we might want to tweak before merging.

This is great, merged, thanks @PIG208!


Testing for undo and redo

Implementation

undo test done up to cover all cases and passed
redo test done up to cover all cases but fail on edit and unable to redo after an action is carried out after undo
system test in progress
fuzzy search test in progress

Please find out why tests are still failing. Thanks.


Merged

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
:memo: Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.

What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot ([Public version]> (https://github.com/FirebaseExtended/flutterfire/pull/4769)).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ **Googlers: [Go here]

(https://github.com/FirebaseExtended/flutterfire/pull/4769) for more info**.

posted by @google-cla[bot] in https://github.com/FirebaseExtended/flutterfire/issues/4769#issuecomment-765445885

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot ([Public version]> (#4769)).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ **Googlers: [Go here]

(#4769) for more info**.

posted by @google-cla[bot] in #4769 (comment)

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here with @googlebot I signed it! and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot ([Public version]> (#4769)).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ **Googlers: [Go here]

(#4769) for more info**.

posted by @google-cla[bot] in #4769 (comment)


Implemented Processors as a replacement for Value Resolvers / Type Converters

PR for issue #142 and #144

Whoah, that's a lot to digest on a Friday night! :wink:
I'll give some thought to this over the weekend, (I'm eager to dig into your code too).
Initial thoughts are with handling breaking changes - obviously we're intentionally v0.x, but still want to be considerate.
I'll feedback once I've had chance to review.

Yea, I did delete a load, but we can bring em back if needed :)

It was the Processor suffix on attributes that caught my eye.

Could change em, I just needed both for a period so added the "Processor"
suffix  to the new ones.

Overall, I'm happy with the direction that this is taking.  I've left various inline comments, but those are quite trivial.  I'm happy with the general "chainable processors" concept.
In terms of backward compatibly (as in not to totally piss off our users), what I'll do is let this PR mature a little, (as I'm sure you'll want to refine things), then I'll drop it in to one of my projects - see what pisses me off, then we can revert various classes with deprecated warnings/messages, (and base documentation updates on those findings too).

Overall I'm glad we are shifting from TypeConverters. Having both do the same functionality has never sat right with me and they cause issues with other things that use them. It's nice to see some much needed simplification of the codebase also.
I'm concerned at the apparent loss of our  EnumerableInvocations methods though that ensure we can return single items and vice versa using a single processor. We'll need to plumb that in somewhere so all processors can take advantage of the functionality. (Prior to the PR only TypeConverters did I think).
We should also be very explicit with our naming. Some attributes have the Ditto prefix, some don't so we should make that consistent.

Hey @JimBobSquarePants thanks for the feeback. In regards to the loss of EnumerableInvocations methods, it wasn't intentional, I just thought all that code was to do with TypeConverters, but can easily add it back in / cut out the bits that should be kept. Strangely though, it would seem then that we don't have any unit tests around this code, as all tests passed with it removed so I guess it would be wise to add some in (I'll see if I can do this when I add it back in).
Re attribute naming, I've noticed the same and have started to standardize those too.

@leekelleher if you are happy with this and the merging of the processors and their attributes, are you happy for me to do all of this in the one branch (I've got them in separate branches atm)?

Yes, happy for them to be merged into a single branch.
Just don't merge into 'develop' yet ;-)
I'll sort out a v0.8.4 release today (if time permits) or tomorrow.

@leekelleher of course :)

Just a note on implementation, unfortunately we can't use generics with attributes, which we previously used to allow processors/resolvers to say what context/value types they expect so instead I've added a DittoProcessorMetaDataAttribute that you add to your processor attribute declarations which says what types you expect
[DittoProcessorMetaData(ContextType = typeof(MyProcessorContext))]
public class MyProcessorAttribute : DittoProcessorAttribute
{
    public override object ProcessValue()
    {
        return ((MyProcessorContext)Context).MyContextProperty;
    }
}

Because we don't use generics, it does mean you have to cast the value/context inside your processor, but I have added validation to the base processor to ensure the passed in types match those specified (though the value property is allowed to be null) so you can at least just cast them without having to do the type check yourself.

In the latest commit I've gone and converted everything left in the GetConvertedValue method into Processors and auto append them to the list of processors to run.
I've created one called EnumerableConverterAttribute to handle changing from / to enumerable, however I'm not sure if this should just be a general use processor, rather than one that runs by default? I have changed it a little so that it only has 1 responsibility which is to convert to / from enumerable, but the enumerable type is based on the Value type NOT the target property type as really the Processor should just have 1 function and it should pass through another processor if you need to do more work. This is what has made me wonder if it should just be generally accessible to add if you need it, but not on by default.
I'm happy to have the recursive ditto processor and try convert processors, but that one seemed like it might be better to suited to being added manually as needed?

Just to clarify with all these new attributes. Do I have to add them to each property or can I decorate the class with them?
Regarding the EnumerableConverterAttribute, the existing functionality allowed me to decorate any class I wanted with the DittoPicker converter and I would be assured that I would get the correct value back whether my property was an IEnumerable<T> or T. I could pick one item and still get a collection. That's why it targeted the property type. Picking one item should not require me to do any further mapping work.

@JimBobSquarePants I had previously made it so you had to do it at property level, but I've just gone ahead and allowed them at the class level as it didn't take much to make it work.
I've made it work like how type converter worked though, as in, the class level attributes get APPENDED to the end of a list of attributes found at the property level. Not sure if this is the right way or not.
RE the enumerables stuff, to be honest, I don't think it's that much different because your code won't trigger a conversion of the type itself if it's not already the right type by this point, so it'll just error, where as my code will let it through, but will likely error further on. I've just taken away that restrictiveness within the converter so that it has potential to be useful in other situations (such as further processing).

@JimBobSquarePants I'll just share this code snippet aswell to help explain why I made the enumerable converter like I did:
processorAttrs.AddRange(new DittoProcessorAttribute[]
{
    new HtmlStringAttribute(),
    new EnumerableConverterAttribute(),
    new RecursiveDittoAttribute(),
    new TryConvertAttribute()
});

So these are the final processors that run, so assume we have a multi picker that returns IPublishedContent's (likely via a standard Umbraco value converter), but on your model, you have a single property of type MyModel. The way the EnumerableConverter works now would allow IEnumerable to be converted to IPublishedContent allowing it then to go through the RecursiveDittoAttribute to do the conversion from IPublishedContent to MyModel. If I left it such that EnumerableConverter required the output type to be the final property type, then we would get an error, or we would need to make EnumerableConverter do more than just enumerable conversion.
Hope that helps
Matt

Yeah Matt that makes sense; It all looks like it's coming together now. PublishedContentExtensions in particular is much less spaghetti like than before your PR.

For sure, definitely much tidier. Amazing how one concept can just clean everything up :) Lee and I were talking the other day about how we didn't think it would change much more now, then Boom! :)

OK, we're good to merge this into the 'develop' branch, (needs rebasing first).


Cast issue when reading the Hive-BQ External table via Spark - Cannot up cast

In HIve-BQ connector , the DATETIME datatype is mapped as Timestamp Type.
In Spark-BQ connector, the DATETIME datatype is mapped as StringType.
As there is a differences between both the connectors, the table that is created with "com.google.cloud.hive.bigquery.connector.BigQueryStorageHandler" is not accessable from Spark and fails with CAST error.
Cannot up cast column from "String" to "Timestamp".
This issue is not only with DATETIME, but also for other datatypes but those can be handled by an workaround.
For example : In Hive, the column is created as INT, But in BQ all the integer type (tinyInt, Bigint,int) are aliased as INT64 (LongType)
Upon reading that table from spark , we get an error " Cannot up cast column from "BIGINT" to "INT"
This can be handled by changing the hive external table column data type to bigint.

@davidrabinowitz
In our organisation we use DP 2.1 which uses spark 3.3.
Is there any workaround for this version or its a blocker untill migration of DP2.2 ?

Unfortunately Spark 3.3 does not support TimestampNTZ. You can use the load from query feature (spark.read.format("bigquery").load("SELECT ...")) in order to load the data and convert it on the fly to data types that Spark 3.3 support such as Timestamp (with timezone) or Date. You can also reach out via your account manager and open a ticket with Google.

The use case here is to read the BQ external table which is created in GCS -Hive.
In that case the read statement will not be bigquery format.
Spark.sql("select * from dev.hive_bq_ext")
With spark catalog, the datatype is read as String. When its internally trying to cast as TimeStamp as per table column dataType, it throws error

@davidrabinowitz
BQ Base Table Creation:
create table ..bq_base_test
as
select cast('2024-08-30' as DATETIME) as col_dt , cast(10 as TINYINT) as col_int;
create or replace view ..bq_base_test_view as select * from ..bq_base_test;
Hive External Table Creation:
CREATE EXTERNAL <db_name>.hive_ext_test
(
col_dt timestamp,
col_int tinyint
)
STORED BY
'com.google.cloud.hive.bigquery.connector.BigQueryStorageHandler'
TBLPROPERTIES (
'bq.table'='..bq_base_test_view',
'viewsEnabled'='true');
create or replace view <db_name>.hive_ext_test_view as select * from <db_name>.hive_ext_test;
Accesing From Spark 3.3 (DP 2.1):
spark.conf.set("viewsEnabled","true")
spark.sql("select * from <db_name>.hive_ext_test_view").show(false)
_org.apache.spark.sql.AnalysisException: Cannot up cast spark_catalog.<db_name>.hive_ext_test.col_dt from "STRING" to "TIMESTAMP".
The type path of the target object is:
You can either add an explicit cast to the input data or choose a higher precision type of the field in the target object
at org.apache.spark.sql.errors.QueryCompilationErrors$.upCastFailureError(QueryCompilationErrors.scala:171)
at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveUpCast$.org$apache$spark$sql$catalyst$analysis$Analyzer$ResolveUpCast$$fail(Analyzer.scala:3623)
at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveUpCast$$anonfun$apply$60$$anonfun$applyOrElse$181.applyOrElse(Analyzer.scala:3654)
at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveUpCast$$anonfun$apply$60$$anonfun$applyOrElse$181.applyOrElse(Analyzer.scala:3631)_

@davidrabinowitz - Further analysis on this would be helpful. Please let me know if any other details required on this


Flip being smoothed

I have a problem: the addon is smoothing the character's "flip," which is the negative scale. I wish there was a way not to smooth this. Unfortunately, if I disable the option scale from inspector.. everything gets messed up. I saw that I can use Teleport to change the position without interpolation... But would it work for my case?

Ah yes, I am amazed no one has reported this before. I fixed this exact problem in the 2D core interpolation for 3.6 recently, but there is no accounting for it in the addon, I will take a look.
I'm guessing this was for 2D? The problem I saw was mostly occurring for sprites changing from facing e.g. left to right.

These are the lines that deal with it in core:
https://github.com/godotengine/godot/blob/5271c971f346fcf3859f5872049f948afa4dba99/core/math/transform_interpolator.cpp#L40C1-L47

This is fixed in 3.x branch, I'll shortly be updating 4.x. I did a significant rework for the 2D to solve some other problems and added the fix for the flip.

This is fixed in 3.x branch, I'll shortly be updating 4.x. I did a significant rework for the 2D to solve some other problems and added the fix for the flip.

 It happened exactly as you mentioned in 2d.. Facing right and left(flip). I'm using godot 4.x. I'll wait until you update


Report number of samples for a Center, Program, etc.

We need a way to know how many samples are associated with a Center | Program | Project | Workflow, etc. so we can know how much processing remains to be done. For instance I want to select Center: THR12, Program:Treehouse, and somehow find out how many samples are there. I can find out how many fastq.gz files exist but there could be 1,2 or 4 fastq.gz files per sample. Also I can see that there are a certain number of .bg files for a Center and Program and that tells me how many samples have been processed, but I cannot find out how many samples are left to do.
Katrina:
This is already recorded somewhere, the number of bundles...if there could be a facet for Samples (which reported the number of bundle ids), that'd be great....maybe that would be a weird facet since it would have to be so many items listed. What if there was a radio button at the top of the facets that could toggle between providing numbers by sample (aka bundle) or by file? So all the numbers listed after the facets would show up as number of files or number of samples based on what the user chooses.
┆Issue is synchronized with this JIRA Story
┆Project Name: CGP-Dashboard
┆Issue Number: DASH-2

➤ Charles Overbeck commented:
This is covered by AZUL-74.


Getting error message when launching app from command prompt with "disable-extension" argument.

VSCode Version: 0.10.12-alpha
OS Version: Windows10

Steps to Reproduce:

Launch an app from command prompt without any command line argument.

code-alpha

Open any folder which contains C# code.
Verify installed extensions for C#, PS, GO etc. should work fine.
Verify there should not be any error message.
Close app and re-launch it from command prompt with disable-extension argument.

code-alpha --disable-extension

Verify app behavior and configuration changes.

Actual:

Getting error message Like: "Cannot convert undefined or null to object"

There is no changes in app behavior or configuration.
a. Default setting is not changing at all.
b. Linter is working as it was working before re-launch.
c. Debugger is working as it was working before re-launch.
d. Intellisense is working as it was working before re-launch.

Expected: There should not be any error message.
Clarification: What are the changes user should expect when launching app with --disable-extension argument.

Possibly a duplicate of https://github.com/Microsoft/vscode/issues/4526 ?
@v-pavanp having a hard time to reproduce, are you able to "break on error" in the developer console and try again? can you send me the workspace where this happens?

This is only with my windows10 machine. I tried to verify same on windows8 but it is working as expected.
I tried by completely uninstalling app from control panel on windows10 machine but still getting the same error message. The main difference In my windows10 and winfow8 machine is number of installed extensions.
WIndows10: c# ,Go , Powershell, Debugger for chrome, ESlint, HTML Hint, Spell and Grammar check, Markdown Theme kit, Mono debug, JS-CSS-HTML formatter, Ruby,Ruby-linter
Win8: C#

@v-pavanp so does it reproduce when you run "code --disable-extensions"?

Not reproducible according to @v-pavanp


Hero content doesn't center on big screens

Hero content limit their width about 1400px, after that the image starts to align left, while the design shows it still centered.

I'm working in this.


bwlimit schedule not working next day

So I'm running rclone on my QNAP NAS to upload to Amazon encrypted. As we are on only an OK connection I'm limiting bandwidth during the day to ensure that our download speed is not affected (when using the upload without limit affects our download speed due to the inability to properly handshake with the server)... Anyway; I set the schedule as
/usr/bin/rclone copy /share/CACHEDEV1_DATA/Multimedia/TV/ acdcrypt:/TV/ --bwlimit "07:00,1.75M 23:30,off" -c --no-traverse --delete-after -vv --log-file=/share/CACHEDEV1_DATA/Public/uploadTV.log
Below are extracts of the log which are relevant... Happy to attach the entire log if required.
Essentially it seems that the limit intially works OK when the scedule day is the same day the command was run (as noted with the scedule correctly changing at 23:00)... when the new day comes rclone seems to request a limit set (as seen in the log), but this does not get passed properly.
Am I missing something? Seems like a bug to me unless my lack of experience is yet again failing me.
2017/03/22 19:37:31 INFO  : Starting bandwidth limiter at 1.750MBytes/s
2017/03/22 19:37:31 DEBUG : rclone: Version "v1.36" starting with parameters ["/usr/bin/rclone" "copy" "/share/CACHEDEV1_DATA/Multimedia/TV/" "acdcrypt:/TV/" "--bwlimit" "07:00,1.75M 23:30,off" "-c" "--no-traverse" "--delete-after" "-vv" "--log-file=/share/CACHEDEV1_DATA/Public/uploadTV.log"]

At 23:00, as scheduled the limits are disabled and my speed goes to my maximum (2MB):
2017/03/22 23:30:31 NOTICE: Scheduled bandwidth change. Bandwidth limits disabled
2017/03/22 23:30:32 INFO  :
Transferred:   23.898 GBytes (1.750 MBytes/s)
Errors:                 0
Checks:                 0
Transferred:           44
Elapsed time:     3h53m1s
Transferring:
 * ...Files:

Come 07:00 when the limiter is set to reset back to 1.75MB, it records it correctly:
2017/03/23 07:00:31 NOTICE: Scheduled bandwidth change. Limit set to 1.750MBytes/s
2017/03/23 07:00:32 INFO  :
Transferred:   80.138 GBytes (2.002 MBytes/s)
Errors:                 0
Checks:                 0
Transferred:           95
Elapsed time:    11h23m1s
Transferring:
 * ...Files:

2017/03/23 07:01:32 INFO  :
Transferred:   80.240 GBytes (2.002 MBytes/s)
Errors:                 0
Checks:                 0
Transferred:           95
Elapsed time:    11h24m1s
Transferring:
 * ...Files:

However it appears the schedule has not reset to my required 1.75MB:
2017/03/23 07:57:32 INFO  :
Transferred:   85.983 GBytes (1.983 MBytes/s)
Errors:                 0
Checks:                 0
Transferred:          100
Elapsed time:    12h20m1s
Transferring:
 * ...Files:

2017/03/23 07:58:32 INFO  :
Transferred:   86.085 GBytes (1.983 MBytes/s)
Errors:                 0
Checks:                 0
Transferred:          100
Elapsed time:    12h21m1s
Transferring:
 * ...Files:

2017/03/23 07:59:32 INFO  :
Transferred:   86.188 GBytes (1.982 MBytes/s)
Errors:                 0
Checks:                 0
Transferred:          101
Elapsed time:  12h22m1.1s
Transferring:
 * ...Files:

It works as expected! You are just confused by the average speed on the total transferred.
At 07:00:32 you had transferred 80,138 GB, at 07:57:32 it was 85.983 GB.
So: (85983-80138)/(57*60)=1,7091 MB / s
The output doesn't look that way because you transferred 80.138 GB - 23.898 GB = 56,24 GB at full speed.
So just for a complete calculation:
(23,8 * 1,75 + 56,3 * 2 + 5,8 * 1,75) / 85,9 = 1,91 MB / s
So your full speed is probably a little bit higher than 2 MB / s.
Cheers

Ah - That's average speed. OK; makes a little more sense.
Only I also checked the network speed from the resource monitor on the QNAP and it's outputting a constant 2MBps, indicating that the process is still going full pelt.
Let me try again today and leave it running a little longer tomorrow and hopefully it'll return back - else I'll have my wife complaining that the Internet is going slow again :-)
Thanks - At least I know it's not something I'm doing wrong; just need to be a little more patient.

Yeah, another thing: The limit isn't really a "fixed" limit, like a complete cap or something.
When i look at the current speed on my server it very often goes over the limit. But in the end the average speed (lets say average over a few minutes) equals the bwlimit.

SInce we haven't heard back, I'm going to assume this is fixed!


Support for other architectures

Hi. Overall, I am impressed with this project, and I am in great admiration. But I have a question, are there any plans to create a bootloader for other processor architectures, e.g. AARCH64, RISC-V? I'm not saying right away that in this repository, maybe a separate bootloader in a separate repository? If such an idea was possible, could I help in some way?
Thank you in advance for your answer and best regards. 😊

I don't have plans to port the crate to other CPU architectures right now, but I would like to see this as well!
As far as I know, @tsoutsman is currently working on an UEFI bootloader for the Theseus OS project with the goal to support both x86_64 and aarch64 booting. Maybe they can use some help?
(As a side note, I would love to integrate this into the bootloader crate at some point if possible.)

Yea, the UEFI bootloader supports x86_64 and should support aarch64 fairly soon.
I would love to upstream the changes (especially considering a lot of the code is taken from bootloader, which I have yet to give credit to), but quite a few of the changes are Theseus-specific.
The big changes that were necessary for the bootloader to work on Theseus were:

Respecting the load address of the kernel segments
Adding support for arbitrary files in the UEFI image and providing information about them in the boot info
Adding kernel ELF sections to the boot info

Only the first point would be a significant hurdle to overcome, which is more a problem with Theseus than the bootloader. Ideally, I'd make Theseus work when loaded at an arbitrary physical address, at which point I could port the changes from uefi-bootloader to this repo.

If such an idea was possible, could I help in some way?

The way I approached it in uefi-bootloader is I took all the x86_64 specific code and placed it in a separate arch directory (akin to std::sys). Then, depending on the target_arch, mod.rs exports a different module. arch/unsupported contains the skeleton API that the other modules should export.
You could start by doing a similar thing for this repo.

Respecting the load address of the kernel segments

Interesting, so you load the kernel directly at the physical address specified in the ELF file? What happens if that address is already in used or not available (e.g. marked as reserved by the hardware)?

Adding support for arbitrary files in the UEFI image and providing information about them in the boot info

We have an open PR at #302 that tries to do something similar, but limited to a single file. Maybe we should generalize this to allow multiple, arbitrary files...

Adding kernel ELF sections to the boot info

You mean a list of all the sections and their start addresses and sizes? I'm fine with adding something like this.

Adding kernel ELF sections to the boot info

You mean a list of all the sections and their start addresses and sizes? I'm fine with adding something like this.

You only need to point to the program header (and if you relocate, the offset by which it was relocated), right? Then the kernel itself can parse the program header to find the location of each segment as well as other program table entries (like the dynamic table location, notes, ...) if necessary. This is what is done on for example Linux for userspace programs to allow the dynamic linker access to this information.

Interesting, so you load the kernel directly at the physical address specified in the ELF file? What happens if that address is already in used or not available (e.g. marked as reserved by the hardware)?

We give up. It's a problem in Theseus that needs to be fixed.

We have an open PR at https://github.com/rust-osdev/bootloader/pull/302 that tries to do something similar, but limited to a single file. Maybe we should generalize this to allow multiple, arbitrary files...

FWIW here's my janky implementation. It iterates over a directory called modules (this could obv be changed) and loads all the files into a singular region of memory with a custom memory type. For each "module" (i.e. file), it records the offset into the memory region, name (jankily stored in an array), and length. These modules are then stored in the boot info. When parsing the modules in Theseus, we add the module offset to the start of the region to get the starting address of the module.

You only need to point to the program header (and if you relocate, the offset by which it was relocated), right? Then the kernel itself can parse the program header to find the location of each segment as well as other program table entries (like the dynamic table location, notes, ...) if necessary. This is what is done on for example Linux for userspace programs to allow the dynamic linker access to this information.

Theseus specifically needs the section headers, which it has no way of accessing since AFAICT the section header table/.shstrtab aren't included in the load segments and, thus, aren't loaded by the bootloader. FWIW multiboot2 provides the ELF sections tag.

Theseus specifically needs the section headers, which it has no way of accessing since AFAICT the section header table/.shstrtab aren't included in the load segments and, thus, aren't loaded by the bootloader. FWIW multiboot2 provides the ELF sections tag.

You can write a linker script that marks the section table as allocated and thus produces a load segment for it.

I don't think it can parse the program headers because they wouldn't be loaded, either.

They are loaded by default. Here /bin/ls on my system as example:
ProgramHeaders(11):
  Idx   Type              Flags   Offset     Vaddr      Paddr      Filesz     Memsz      Align
  0     PT_PHDR           R       0x40       0x40       0x40       0x268      0x268      0x8
  1     PT_INTERP         R       0x2a8      0x2a8      0x2a8      0x1c       0x1c       0x1
  2     PT_LOAD           R       0x0        0x0        0x0        0x3538     0x3538     0x1000
  3     PT_LOAD           R+X     0x4000     0x4000     0x4000     0x141a9    0x141a9    0x1000
  4     PT_LOAD           R       0x19000    0x19000    0x19000    0x8f08     0x8f08     0x1000
  5     PT_LOAD           RW      0x22350    0x23350    0x23350    0x1278     0x2568     0x1000
  6     PT_DYNAMIC        RW      0x22dd8    0x23dd8    0x23dd8    0x1f0      0x1f0      0x8
  7     PT_NOTE           R       0x2c4      0x2c4      0x2c4      0x44       0x44       0x4
  8     PT_GNU_EH_FRAME   R       0x1e324    0x1e324    0x1e324    0x944      0x944      0x4
  9     PT_GNU_STACK      RW      0x0        0x0        0x0        0x0        0x0        0x10
  10    PT_GNU_RELRO      R       0x22350    0x23350    0x23350    0xcb0      0xcb0      0x1

The first PT_LOAD covers the elf header, the program headers and some other things. The PT_PHDR points to the program header itself.

Adding support for arbitrary files in the UEFI image and providing information about them in the boot info
We have an open PR at https://github.com/rust-osdev/bootloader/pull/302 that tries to do something similar, but limited to a single file. Maybe we should generalize this to allow multiple, arbitrary files...

Do we really want to load multiple files? Would some kind of image file do instead?
If we use an archive, kernels will be more portable to other bootloaders, such as multiboot2
This also allows kernels to use whatever format they desire, such as CPIO, or something native that has (in my case) security information (Not *NIX UID/GID, more akin to SELinux/Windows NT).
Trade off thoughts comment here: https://github.com/rust-osdev/bootloader/pull/302#issuecomment-1369082190

I assume the idea is that the archive is more like concatenating multiple files together + some metadata to know where the individual members start and end (and possibly a name), where this archive is parsed by the bootloader and then each individual member is passed separately to the kernel. Not a full fledged filesystem with directories, timestamps and security information. If you want that you did still make your own archive and treat it as a single extra file that could get wrapped into the archive format of the bootloader if there are multiple extra files.
Multiboot2 already has support for multiple files in the form of boot modules. I think grub2 allows reading them from separate files using the multiboot2_module command.

I assume the idea is that the archive is more like concatenating multiple files together + some metadata to know where the individual members start and end (and possibly a name), where this archive is parsed by the bootloader and then each individual member is passed separately to the kernel. Not a full fledged filesystem with directories, timestamps and security information. If you want that you did still make your own archive and treat it as a single extra file that could get wrapped into the archive format of the bootloader if there are multiple extra files.
Multiboot2 already has support for multiple files in the form of boot modules. I think grub2 allows reading them from separate files using the multiboot2_module command.

I was unable to locate anything in either the grub2 code, or mutliple microkenrels on github. (Doesn't mean it doesn't exist)
Everything I can find supports loading a single file (such as linux's initrd). And the bootloader does zero parsing on the file, it simply loads it into ram, and feeds a pointer to it to the kerenl.

I was unable to locate anything in either the grub2 code, or mutliple microkenrels on github. (Doesn't mean it doesn't exist)

https://github.com/rhboot/grub2/blob/c2e640266247e3e0d3268f5ef20a734f5800f577/grub-core/loader/multiboot.c#L362-L442
I'm not against an archive because it would simplify the code in the bootloader a fair bit. I only implemented "modules" for UEFI, and I'd imagine it's quite a bit harder for BIOS.

Wow, you learn something new every day!
I'll take a stab at it after #301 is merged. Maybe we can get both?

I'm fine with merging a simple ramdisk first since this is a commonly used feature. We can generalize this to a set of multiple files/modules later if needed.


Fixes for openHAB 2 & new Pebble firmware

Moved files to allow importing into CloudPebble again
Handle new name of items without the 'Item' suffix
Detect Color items mapped as Switches and Dimmers in the sitemap and act accordingly
Display mappings labels instead of raw values in menus
Replaced the 28x28 color logo for the menu by a black & white 25x25 one (new requirements, new menu)

Signed-off-by: Yannick Schaus<EMAIL_ADDRESS>

@llamahunter Just for our information: Are you still actively maintaining this repository? I haven't seen much activity over the past months, so I want to make sure that this PR is being looked at by someone.

Sorry.. must have missed the PR email. There hasn't been much need for activity on the project for a while, and I don't fiddle with the code when it's basically working, for me, at least.
I'm a bit busy the next few days, but I can take a look at this PR this weekend.

Ok, good to know that you are still with us, no urgency on the PR, leave your time.

There hasn't been much need for activity on the project for a while

Well, in this case you should consider to close/answer the open issues :-)

The open issues seem like minor inconveniences at the moment.  Some of them are related to OH2, which, in my experience, still seems sort of 'early beta' quality, and so I've been holding off on upgrading my home install to it until it matures.

Some of them are related to OH2, which, in my experience, still seems sort of 'early beta' quality

This is a false impression, many people use it already productively and it is close to becoming the official release (planned for early next year). So it is definitely time to get the Pebble app ready to work well with OH2!

I'd like to point out that switches, dimmers, setpoints are broken at the moment for those running the latest stable openHAB 2 beta4 - the item types lost their 'Item' suffix (e.g. 'SwitchItem'>'Switch') as reported by the REST API some time in August. This is the main issue addressed in this PR :)

Alrigjty. I'll give OH2 another go and verify this PR with it this weekend.

Finally got my system updated to openhab 2.0 (took a lot of time, and still not everything works yet).  Anyway, when I try this change, it fails due to the startsWith() method not existing.

[PHONE] pebble-app.js:?: JS: openHAB: October 30, 2016 at 9:47:07 PM PDT: widget.item.type = Switch
[PHONE] pebble-app.js:?: JS: openHAB: JavaScript Error:
TypeError: undefined is not a function (evaluating 'widget.item.type.startsWith('Switch')')
at page.js:192:42
at emitToHandlers (lib/emitter.js:121:21)
at emit (lib/emitter.js:145:35)
at _emit (ui/window.js:282:16)
at emit (ui/window.js:294:22)
at emitSelect (ui/menu.js:378:16)
at onPacket (ui/simply-pebble.js:1465:22)
at onAppMessage (ui/simply-pebble.js:1491:26)

Are you using iOS or Android?  I've seen differences in the past between what javascript functions are available to the pebble scripts.

I found this shim for String.prototype.startsWith() that seems to work.  It's MIT licensed, so that should be ok to include in the openhab.pebble distribution, I think.
https://github.com/mathiasbynens/String.prototype.startsWith
I dropped the contents into a new file 'startswith.js' and then in page.js added a
require('startswith')

Oh, bummer. Sorry about this - those can be replaced rather safely with indexOf(...) == 0 as an alternative if you don't want to include the shim. Your call.

@ghys @llamahunter can is this ready to be merged and pushed to the store?

@digitaldan @llamahunter the above commit is likely to fix the iOS issue. I'm only able to test it on Android and I saw no regression there.

Thx for the updated pull request. Unfortunately, I'm out of the country for a few weeks. As soon as I'm back in town, I'll test this on iOS and push up a new build to the store.

Hi, it would be great if this will work with oh2.
Very useful links app. It's much easier as with tasker :-)

@llamahunter Are you back in town by now? It would be fantastic if you could push a OH2 compatible version to the store - note that OH2 is going to be released next weekend!

Thx.  I verified your pull on iOS and merged it.  I made a new release v1.6 and posted it on github. Unfortunately, I've lost access to the<EMAIL_ADDRESS>address and pebbledev account, so I'm not able to push the new release to the app store at the moment.  Waiting on @kaikreuzer for that.
Also, I'm looking for a new maintainer of this repo, as I'm no longer an active pebble user as of last month's sad news. http://arstechnica.com/gadgets/2016/12/pebble-confirms-fitbit-sale-hardware-is-dead-software-in-maintenance-mode/

Thanks, @llamahunter, I just published it: https://apps.getpebble.com/en_US/application/5542604d45bf334314000098?query=openhab&section=watchapps

I'm no longer an active pebble use

That's a pity, but anyhow a big thanks for all the work you have put into it in the past! I will try to stay with it until the last minute, but I am afraid that I won't be an adequate maintainer...
Maybe @ghys feels a bit bored in the minutes when he isn't working on HABPanel? ;-)

Hello. Many many thanks from my side. Great work. Now the switches works. 2 hours from my post to the fixed version.  Again. Many thanks.
I hope my kickstarter pebble will work for again 2 or 3 years

Maybe @ghys feels a bit bored in the minutes when he isn't working on HABPanel? ;-)

I still use this app daily, perhaps as much as HABPanel actually 😉 and I have a few Pebble apps under my belt so I don't mind taking over - it's doing the job nicely alraedy I don't expect huge amounts of work maintaining it anyways.
Obligatory huge thanks to @llamahunter for building this in the first place!

As well as @trusk89 for the initial inspiration.  And the openHAB team for making an open source, open API home automation platform!

Awesome job everyone! Glad it helped and sad to see pebble go down.
I personally switched to garmin last summer, so maybe I'll give that a try :)

so I don't mind taking over

You're incredible, @ghys, glad to have you in the team 👍


Too many clicks!

I’m new to Daijishou and I love it! But one very small thing is really bothering me and feel like can/should be simplified: extra 2,3 taps for basic stuff like starting game or going back. Few detailed example:
Pin and Play Widget:

These are supposed to be game that you play often and want to start immediately.
But when I select a pinned game:

I see detail page, which seems unnecessary by default for the game you are actively playing.

Then tap multiple left right to goto “Play” and finally you can start a game!

This should simply be Select and start the game. Maybe move details page to hotkey. Or atleast have setting to directly start pinned game.
I don’t know why but this is driving me crazy! 😂

Platform Grid View Back Button

When I open a platform in grid-view and press back button, instead of going back to home page, platform title gets selected. I have to press back again to goto home screen.
Again 1extra click for no reason.

Settings Back Button:

any settings page, one back button takes you to top and need another back button to actually go back.
I feel this is not necessary as setting pages arent that long.

I agree, thanks for opening an issue on this. I was too lazy to do it myself.
This is like the only thing about the frontend that bothers me apart from disabling the back button sound doesnt work for me.

Will be improved in 1.4.70. onBackPressed() skips animation if recyclerView.scrollState==ViewPager2.SCROLL_STATE_SETTLING and other constants fullfilled. Detail view on click toggle added as well.

I'm not sure if you will implement all the points above in future updates. You said that in 1.4.70 something will be improved and 1.4.70 came out but it didnt seem to fix any of the points above.
Just wanted to know if you'll implement them in future updates?

@TapiocaFox Thanks for fixing this. Like David mentioned, 2 of the mentioned issues are fixed (Settings and widget detail option) but multiple back button from grid view to platform still exists. Are you also planning to address that or are we missing something?

I doubt he'll see it. Do you want to open a new issue on the grid view click?


Only opens a single fold level

zo, as the title says, only opens a single fold level.  So in a file with deeply nested folds, you still can't see the search.
You could use zo with a count, but I think it's easier to use zv, which opens enough so that the cursor will be visible.  There's also zO.

You can workaround this by adding noremap <Plug>(slash-after) zv to your vimrc

Thanks, I changed zo to zv as you suggested.

Given that this is the way works by default (see 'foldopen'), I think it makes sense to follow that behavior.
Also, thank you for all the other plugins and projects you've written!

Oh yeah, I think it makes more sense too, I was just providing a workaround (that I was using) until a fix was made.


Add disconnected status for Application Synchronisation

This is linked with https://github.com/maestrano/Maestrano/pull/1648

LGTM

merged


AgoraRtcKit/AgoraRtcEngineKit.h' file not found When running in iOS

Describe the bug
Getting below error when running in iOS:
Lexical or Preprocessor Issue (Xcode): 'AgoraRtcKit/AgoraRtcEngineKit.h' file not found
/Users/macbook/flutter/.pub-cache/hosted/pub.dartlang.org/agora_rtc_engine-5.3.0/ios/Classes/Base/RtcEnginePlugin.h:1:8

Lexical or Preprocessor Issue (Xcode): 'AgoraRtcKit/AgoraRtcEngineKit.h' file not found
/Users/macbook/flutter/.pub-cache/hosted/pub.dartlang.org/agora_rtc_engine-5.3.0/ios/Classes/AgoraRtcEnginePlugin.h:1:8

Could not build the application for the simulator.
Error launching application on iPhone 11.

To Reproduce
Steps to reproduce the behavior:

Create new flutter project
Added agora_rtc_engine: 5.3.0 and run the flutter pub get
Run the project on iOS
Getting above given error

Smartphone (please complete the following information):

Device: iPhone11, iOS8.15.2]
Agora: agora_rtc_engine: 5.3.0
Flutter: 3.0.1

I believe you should run flutter build ios command first.
https://docs.flutter.dev/development/packages-and-plugins/developing-packages#step-2c-add-ios-platform-code-swifthm

I'm using Android Studio and trying to run on iOS Simulator, as you suggest i tried to run the command:
Macbooks-MacBook-Pro:flutter_agora_ex MyMac$ flutter build ios --no-codesign
Warning: Building for device with codesigning disabled. You will have to manually codesign before deploying to device.
Building com.devs.agoraex.flutterAgoraEx for device (ios-release)...
Running Xcode build...
 └─Compiling, linking and signing...                      1,285ms
Xcode build done.                                            8.1s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **
Xcode's output:
↳
    Writing result bundle at path:
        /var/folders/kb/b1k1wt9j1fx7z3l4p_k8v_2h0000gn/T/flutter_tools.19fuOy/flutter_ios_build_temp_dirhjHI5x/temporary_xcresult_bundle

    ld: framework not found Pods_Runner
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    ld: framework not found Pods_Runner
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    note: Using new build system
    note: Planning
    note: Build preparation complete
    note: Building targets in dependency order
    /Users/macbook/FlutterProjects/flutter_agora_ex/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to
    8.0, but the range of supported deployment target versions is 9.0 to 15.2.99. (in target 'AgoraIrisRTC_iOS' from project 'Pods')
    /Users/macbook/FlutterProjects/flutter_agora_ex/ios/Pods/Pods.xcodeproj: warning: The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to
    8.0, but the range of supported deployment target versions is 9.0 to 15.2.99. (in target 'AgoraRtcEngine_iOS' from project 'Pods')

    Result bundle written to path:
        /var/folders/kb/b1k1wt9j1fx7z3l4p_k8v_2h0000gn/T/flutter_tools.19fuOy/flutter_ios_build_temp_dirhjHI5x/temporary_xcresult_bundle

Error (Xcode): Framework not found Pods_Runner
Encountered error while building for device.

Facing the same issue

Any update regarding this issue? Facing the same.

I just downgraded the sdk version man
On Fri, Jul 29, 2022 at 5:01 PM Nitish Aggarwal @.***>
wrote:

Any update regarding this issue? Facing the same.
—
Reply to this email directly, view it on GitHub
https://github.com/AgoraIO/Agora-Flutter-SDK/issues/727#issuecomment-1199173063,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALGHABR2SNXVL3PEQD25KYLVWO6KBANCNFSM54ZETMXQ
.
You are receiving this because you commented.Message ID:
@.***>

I am getting the same error in Flutter.

@itskishankumar Did downgrading the sdk help you?

Looks like the issue with debug build, When I created profile build with the certificates using the command
flutter build ios --profile It's working

Yes downgrading it made it work for me
On Mon, Aug 1, 2022 at 11:25 AM IdealItTechnoDevs @.***>
wrote:

Looks like the issue with debug build, When I created profile build with
the certificates using the command
flutter build ios --profile It's working
—
Reply to this email directly, view it on GitHub
https://github.com/AgoraIO/Agora-Flutter-SDK/issues/727#issuecomment-1200742573,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALGHABVNYLKH7DKN4LKHVK3VW5RFBANCNFSM54ZETMXQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

Looks like the issue with debug build, When I created profile build with the certificates using the command
flutter build ios --profile It's working

y,the emulator can't

Yes downgrading it made it work for me
…

Ok. Thanks bro. but it didn't work for me. I tried downgrading to 3.0.0 and 2.10.4.

Downgrading to 5.2.0 worked for me.

Try adding the following line to your `ios/Podfile' file
https://github.com/AgoraIO/Agora-Flutter-SDK/blob/master/example/ios/Podfile#L56-L58

Looks like the issue with debug build, When I created profile build with the certificates using the command
flutter build ios --profile It's working

y,the emulator can't

hello what do you mean by this?

Just try to run on real ios device, not emulator. It works for me

On Fri, Aug 5, 2022 at 12:19 PM PolischukIO @.***>
wrote:

Just try to run on real ios device, not emulator. It works for me
—
Reply to this email directly, view it on GitHub
https://github.com/AgoraIO/Agora-Flutter-SDK/issues/727#issuecomment-1206335316,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALQYYDYUAAC2CQ5UFBZ2CCLVXT2DHANCNFSM54ZETMXQ
.
You are receiving this because you commented.Message ID:
@.***>

On real device or shows black screen
Remote view display
Any idea why?

On Fri, Aug 5, 2022 at 12:19 PM PolischukIO @.> wrote: Just try to run on real ios device, not emulator. It works for me — Reply to this email directly, view it on GitHub <#727 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALQYYDYUAAC2CQ5UFBZ2CCLVXT2DHANCNFSM54ZETMXQ . You are receiving this because you commented.Message ID: @.>
On real device or shows black screen Remote view display Any idea why?

Maybe you have problems with your Agora account, check id and token of your agora app in your project.

It worked in the following environment.

Flutter: 3.0.5
Xcode: 13.3.1
macOS: 12.4
Real Device: iPhone 12 mini, iOS 15.6

I couldn't work if only Real Device is changed to iOS Simulator iPhone 13, iOS 15.4 in the same environment

Same problem can't work on iOS Simulator

Try adding the following line to your ios/Podfile file https://github.com/AgoraIO/Agora-Flutter-SDK/blob/master/example/ios/Podfile#L56-L58

Error (Xcode): Building for iOS Simulator, but linking in dylib built for iOS, :(

Our integration test is running on the ios simulator on GitHub action, so it should work fine with the ios simulator, I believe there's some missing config causing the issue.
It's better to raise a new issue and provide a reproducible demo so we can take a look.

Any luck on this?
Not working for me on emulator but works on real device.

Try adding the following line to your ios/Podfile file https://github.com/AgoraIO/Agora-Flutter-SDK/blob/master/example/ios/Podfile#L56-L58

I did this.
Then I downgraded to 5.2.0. And I did a flutter clean. My app started now.

Not working for me on emulator but works on real device.

I downgrade agora version and try it's not working

I fixed this issue by add these two line in pod file.
      config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES'       config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "i386"

I fixed this issue by add these two line in pod file.
     config.build_settings['ONLY_ACTIVE_ARCH'] = 'YES'
     config.build_settings["EXCLUDED_ARCHS[sdk=iphonesimulator*]"] = "i386"

https://github.com/AgoraIO-Extensions/Agora-Flutter-SDK/issues/727#issuecomment-1322517057
try this one


Width of form section of database refresh timestamp should be controlled

Raise issue to Admiral team: https://github.com/vmware/admiral/issues/170.
https://jira-hzn.eng.vmware.com/browse/VBV-1560
Close this one.


Extending fromarray methods

closes #289 by extending Images and Series fromarray methods to handle Thunder objects

After chatting with @freeman-lab, decided to leave the functionality of fromarray as is. Closing.


Add Help Content

We need at the very least the kinds of help screens made available in LiteWeight. Eventually, a video is in order, and more complex help screens and onramping. For now, some help screens.

A Help screen for Quests and Structured Conversation was added


Update ContractConfigurator-GrandTours.netkan

Adding an epoch because the versioning broke when the author put the former version up on KS as 1.0.6 rather than 0.1.6 making the newest version 0.1.7 not show up as the latest one in CKAN.

LGTM :+1:


Support schema based multi-tenancy for postgres with TypeORM

Is your feature request related to a problem? Please describe.
I'm trying to design a multi-tenancy app that requires per-request schema switches.
Describe the solution you'd like
I'm ultimately trying to accomplish exactly what is described here:
https://tech.canyonlegal.com/multitenancy-with-nestjs-typeorm-postgres
I don't know exactly what the implementation would ultimately look like. Maybe @UseSchema(schemaName)?
Describe alternatives you've considered
I could just use NestJS and do exactly as above, but I find tsed more approachable.

Hello @kryptus36
I don't understand the needs. Create new decorator for multi tenant application has no sense. For example, the swagger documentation expose statics schema for all endpoint, so describe dynamic schema isn't possible. If an endpoint expose a different response structure per tenant, you won't be able to describe it excepted for common props.
The given nestjs example doesn't help me to understand the necessity to implement a new decorator...
By using middleware to handle the multi tenant, create connection is it's necessary in the middleware, expose generic controllers (because the main idea of multi tenant is to expose the same controllers/models/business and doesn't develop custom things for one tenant, as far as possible) and get data from TypeORM repository.
By using @tsed/async-hook-context it'll simplify the process to forward tenantId through the middleware to the repository.
@Middleware()
export class TenantMiddleware {
  @Inject()
  typeORMService: TypeORMService;

  use(@Context() $ctx: Context) {
     const tenantId = this.getTenantId($ctx);

    if (tenantId) {
      const connectionName = `tenant_${tenantId}`;

      // create connection if not exists
      await this.typeORMService.createConnection(connectionName);

      $ctx.set('tenantId', tenantId);
    }
  }

  getTenantId($ctx: Context) {
     const [hostTenantId] = $ctx.request.host().split('.')
     if (hostTenantId !== 'mydomain') { // change the domain
        return tenantId;
     }

     if ($ctx.request.url().startsWith('/tenants')) {
        return $ctx.request.url().split('/')[0]
     }

     return $ctx.request.get('tenant-id') // by header
  }
}

Then use the tenantId in the service:
@Injectable()
export class GameService {
   @InjectContext()
   $ctx: Context; // require @tsed/async-hook-context

   @Inject()
   typeORMService: TypeORMService;

   get repository() {
     return this.typeORMService.get(this.$ctx.get('tenantId')).getRepository(GameEntity)
   }

  async findAllByTeamId(teamId): Promise<GameEntity[]> {
    return await this.repository.find({ where: { teamId }});
  }
}

That all :)
See you
Romain

Thank you! I'll try this and re-open if I can't get it to work.


FYPO:0006518 & FYPO:0006660 difference

In 30116786 Val used FYPO:0006660  loss of viability upon G0 to G1 transition
I am thinking about the difference between this and
FYPO:0006518 loss of viability in G0
Because usually "viability in G0" is assessed by regrowing cells (so you don't know if they lose viability when trying to exit or when maintaining)?
in 19366728 I have a number of mutants that have frgamented DNA in G0 (so these are clearly dead in maintenance).
what do I do with the rest? annotate to FYPO:0006660 a la Val's session or FYPO:0006518? I don't know if it is maintenance or transition that kills them.

So we have
a) Some cell s which clearly cannot maintain  G0
b) Some cells which can maintain G0 but cannot exit G0 (mitotic competence)
c) Some cells where we do not know the exact issue
Is that accurate? In this case do we need a grouping term to cover a and b?

Yes I think so.
How did they establish " loss of viability upon G0 to G1 transition"  in 30116786 ?

I don't remember but there was some correspondence about it, I will try to locate....

not described in ticket anyway
https://github.com/pombase/fypo/issues/3346

As Val says, in principle the difference is clear enough: if cells die while in G0, use FYPO:0006518, whereas if they remain quiescent but alive until they try to start up the cycle in G1 and only then die, use FYPO:0006660. I'm a little unclear on how to tell the difference in practice - is there some way to see if G0 cells are alive other than to see if they form colonies (which requires going through the G0-to-G1 transition)? I guess that's basically the same question as in Antonia's last comment.
Also, at present FYPO:0006518 and FYPO:0006660 are siblings, but the way FYPO:0006518 is defined makes it a bit ambiguous whether it's "really" the general case (Val's 'c') or the G0-maintenance-specific case (Val's 'a'). FYPO:0006660 is unmistakably case 'b'. I can adjust FYPO:0006518 in either direction. Which is better, make it generic or make it the maintenance term?
Finally, what term names would make the 'a' vs. 'c' distinction clear?

hmm how about

loss of viability in G0 (at some stage in G0, to encompass both maintenance and exit). this would be the parent term for any case where cells die after entering G0, but we dont know if it's because they die when they try to exit, or they die whilst maintaining G0

FYPO:0006660 loss of viability upon G0 to G1 transition - I guess here they are alive in G0 but die in the transition (@ValWood  how do you make this distinction?)
loss of viability during maintenance of G0 - in the paper I was looking at I used 'fragmented DNA' as a proxy for this - cells cannot be alive without intact DNA. Other ways to measure this (that I can imagine) would be metabolic turnover

They are alive in G0 but cannot grow vegetatively after they have been in G0 (although they were fine vegetatively before). This therefore implies they have a problem getting  out of G0" which must be the transition.

OK, that helps. But for me there's still the question of how we know they're alive in G0 - that may be the key to capturing the distinctions in phenotype term defs and comments.

Yes, what marker would you use to state that they are alive in G0 but can’t exit?

I can't remember exactly I would need to go back to the paper. Don't they show that they are metabolically active IIRC? It's so long ago...

quantitative metabolomics analysis show the cells are cycling in G0
adding back nitrogen and they can't re-enter vegetative growth.
Therefore they must be  G0->G1 transition defective?

Actually I'm not sure that a defect in the transition is the best way to describe the "mitotic competence" phenotype.
Now I looked at this it seems that   mitotic competence is
" the ability to  sustain G0 + the ability to reenter mitosis"
I don't know if this is really a transition capability.... but it might be. I remember being confused by this at the time.
It's really  the group of processes that must be present in G0 in order to reenter mitosis.

Ignore I was trying to delete the comment I was writing the term for G0-G1 transition does seem to be the correct way to describe this phenotype. We are not saying anything about the processes causing the defect, only that a block is the observable phenotype.


Enable Mediation endpoints for Base Wallet

When a multi-tenant ACA-Py instance is configured to use a mediator, the base wallet must establish a connection with a mediator to provide this service to the sub wallets. Presently, the only way to trigger the base wallet to establish this connection is through start up configuration due to all endpoints except those relating to multi-tenancy being blocked. There is no way to establish the mediator connection after startup. This task will unblock endpoints relating to mediation and connecting to a mediator to enable performing these operations after startup.
However, allowing a mediator to not be immediately configured presents some complicated scenarios. For example, what is the expected behavior of creating a sub wallet when no mediator has been established yet?
It may make sense to do this still, perhaps even if only for debugging and troubleshooting but we'll have to evaluate some of these scenarios and make sure expectations don't break down as a result or if this feature is even feasible with the current setup.

Implemented and merged upstream


support dmg notarizing

support notarizing dmg files

Thanks for the contribution! A few things to note:

The code in general needs to be standardized. I've added Prettier support in #7, so once that gets merged, you should use prettier to format your changes.
A fellow member of the Docs & Tools WG, @Kilian, recently wrote an article about notarization where he found that you currently shouldn't sign DMGs. So I'm not currently inclined to accept this PR until folks can actually install signed+notarized DMGs.

Thanks for the review! This is actually my first TypeScript PR and I certainly appreciate your time to review this. I was doing some testing on notarization of our app (for both app and dmg) on MacOS 10.15 Beta(Catalina) and based on my test results Catalina doesn't take the un-notarized dmg very well (even the app inside is notarized), it will reject your double click by default unless you right click on it and force it to open from the right click menu. But if I upload the dmg and have it notarized/stapled then it will work fine with double click.
I also noticed that the article your referred to was written mainly target MacOS 10.14.5 (Mojave) and I took some time and applied the same tests, the behavior seems different on those two versions of MacOS for me.

more tests shows that we could just use the same mechanism to zip the dmg file and upload to get it notarized, it is a little extra but I think still acceptable, so I am going to close this PR as it is not necessary.

@shiqi Because zipping is not used when notarizing dmg files I believe it may cause issues notarizing the zip and not the binary dmg file.


Refactoring of Tex doc into separate helper and readme with refs to Admin Guide

This issue is to perform a similar refactoring for Tex doc as has been applied to Rex and Dino in PRs for #3840 and #3754 respectively


🌐 Update typo in Chinese translation for docs/zh/docs/advanced/testing-dependencies.md

update typo

Thank you @bestony :rocket:


problem with drag animation in safari when rows of a table are dragged

Problem with drag animation in safari when rows of a table are dragged

Bug video recording (in safari)

Expected behavior (in chrome - works in IE also)

Information
This is a bootstrap-vue table
Sortable JS is used as a custom vue directive on the bootstrap-vue table. I've also tried applying sortable JS on component mount, behavior remains the same.
<template>

    <template v-slot:empty>

    </template>

    <template v-if="getSortedForms.length > 0" v-slot:head(selectFormAction)>

    </template>
    <template v-slot:cell(col1)="form">

    </template>
    <template v-slot:cell(col2)="formItem">

      <form-display :formDTO="formItem.value" />
    </template>
    <template v-slot:cell(col3)="formStatusItem">

    </template>
    <template v-slot:cell(col4)="actionItem">

        <form-progress-bar />

    </template>
    <template v-slot:cell(col5)="utilityItem">

          <FormUtility :form="utilityItem.value.formDTO"></FormUtility>

    </template>

</template>


Update support.md

#sign-off

@eshashah-msft
This pull request was opened in the public repo. PMs should work in the private repo, per the Microsoft Docs contributor guide. We can merge this small change, but would you make future content updates in the private repo? Also, can you update your GitHub alias in the author metadata for the article, so that PRs are correctly assigned. Thank you!
Read about authors working in the public repo for more information.
If you need help getting set up to work in the private repo, see Get started contributing to the Microsoft Learn platform.


All extensions unexpectedly removed

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.77.1
OS Version: 13.1 (22C65)

Steps to Reproduce:

Start work
Go to the washroom
Come back and wonder where your extensions went

Seriously, I went to the bathroom and came back and all of my extensions have been removed:

I work from home, and live alone, so no one else would have had access.  I see the (test) above, and below on this new machine:
2023-04-10 17:03:17.009 [info] Syncing profile. test
2023-04-10 17:03:17.020 [info] Settings (test): No changes found during synchronizing settings.
2023-04-10 17:03:17.025 [info] Keybindings (test): No changes found during synchronizing keybindings.
2023-04-10 17:03:17.028 [info] Snippets (test): No changes found during synchronizing snippets.
2023-04-10 17:03:17.030 [info] Tasks (test): No changes found during synchronizing tasks.
2023-04-10 17:03:17.038 [info] GlobalState (test): No changes found during synchronizing ui state.
2023-04-10 17:05:17.390 [info] Extensions (test): Updated remote extensions. Removed: ["andrsdc.base16-themes","bierner.markdown-mermaid","christian-kohler.path-intellisense","dbaeumer.vscode-eslint","editorconfig.editorconfig","esbenp.prettier-vscode","formulahendry.auto-close-tag","graphql.vscode-graphql","graphql.vscode-graphql-syntax","hashicorp.terraform","ms-python.python","ms-python.vscode-pylance","ms-vscode-remote.remote-ssh","ms-vscode-remote.remote-ssh-edit","ms-vscode-remote.remote-wsl","ms-vscode.cmake-tools","ms-vscode.cpptools","redhat.vscode-yaml","streetsidesoftware.code-spell-checker","tboox.xmake-vscode","timonwong.shellcheck","twxs.cmake","vscodevim.vim"].

If I'm losing my extensions because of a quirk when testing a workaround for something else, oh boy, I'm not impressed right now.

@mikew Very unfortunate about your extensions getting removed and sorry about that. You can restore the extensions by following this guide - https://code.visualstudio.com/docs/editor/settings-sync#_restoring-data
Looks like the extensions are removed from the test profile. Can you please provide the complete settings sync log of which you provided in the description. Can you also please share the log - F1 > Open View > Shared - during the same session that you saw extensions are removed?

The session is long closed, not sure if the logs would still exist. The out from my comment here was not using the test profile.

The session is long closed, not sure if the logs would still exist. The out from https://github.com/microsoft/vscode/issues/179630#issuecomment-1502332214 was not using the test profile.

As logged, extensions were removed only from the test profile.

As selectively copied from the logs, sure. In practice, my editor did not say it was using my test profile, yet my color scheme and spell check extensions were missing.

Here's a screenshot showing I'm already on the Default profile on one machine that had all its extensions removed:

the description also says it removed extensions from the test profile

Is that a thing vscode can even do? On my mac, looking through the extension folder (and in extensions.json), there's nothing associating them with profiles.

@LennardFi Do you have any profiles created? Can you please go to Settings Sync Data view and let us know which machine has removed the extensions? Previous session logs are still persisted in the disk - F1 - Open Logs Folder - is it possible to get us logs?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!

This happened to me, again. Was out at a cafe working, went for a walk, laptop died in my bag, plugged it in at home, bam, no extensions.
I have logs from the session at the cafe and then all extensions being removed.

I have logs from the session at the cafe and then all extensions being removed.

Can you please share the logs? Are you using profile and Are these removed extensions belong to a profile? Do you have any extensions installed in default profile? Do you have settings sync on?


notmuch: fix /bin/sh impurity in ./configure

Motivation for this change
/bin/sh in ./configure: https://hydra.nixos.org/build/71329862
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

/bin/sh fixes should probably be backported to 18.03?

The build is fine under Nix 2.0. It's just that the <IP_ADDRESS> builder (listed here: https://hydra.nixos.org/build/71326198) needs Nix 2.0 instead of some really obsolete unstable Nix release.

@dezgeg Looks like a sensible change regardless though, doesn't it?

@dezgeg Looks like a sensible change regardless though, doesn't it?

I'm not @dezgeg, but LGTM :)


Visualising the attention

Just wondering if you had any code to allow for visualization of the attention maps of size (B, N, num_patches+1, num_patches+1) to create something like Figure 1a in the paper.
Thanks!

hi @finlay96 , can you please share if you have managed to recreate the result from the paper?


Make links on the 'URL do Documento Fiscal' field clickable

Currently you have to copy the link and paste on a new tab - a job that quickly grows tiresome if you are viewing multiple receipts in a row:

Great work on the dashboard, btw.

Many thanks, @brwolfgang! I'll add some stuff to this Issue as all of them are related to customizing the same part of Django Admin:

[ ] Link receipt URL (as OP suggested)
[ ] Show suspicions in pt_BR (not JSON)
[ ] Show subquota_description in pt_BR (not en_US)

Just checking, we can close this right?

Closed by #190


Select Campaign menu

Allow user to have a null current_campaign, and present list of Campaigns / keywords to use to find a different campaign to do.
Completed menu could say something like Text M to find more campaigns to do
And then it says
Text 1 to do bumble bands
Text 2 to do Dog Days
(we don't necessarily need to use keyword -- if user is in this state, inspect their response as a menu selection and signup for campaign / set current_campaign)
Refs #713
Also could be used by the No broadcast responses #742. If user says no to broadcast, set current_campaign to null and present Select Campaign menu. Invalid campaign menu responses would need something like a new invalid_select_campaign_command CampaignBot property to respond if user doesn't select a campaign.

Team O'Doyle Rules chatted today about using a Mobile Commons Opt-in- Path and Keyword to implement a bare bones MVP of this feature. cc @jamjensen @justkika @classicfreddie

Closing this until this is scheduled for development.

This exists, albeit in minimal form in https://github.com/DoSomething/gambit-conversations.
It needs to be tweaked so at least we won't randomly select that Campaign the Conversation is currently set to, but that logic will happen won't be happening here.


cmake: west: Detect whether inside an installation

If one invokes cmake with west in the PATH but not inside a west
installation (i.e. in a monorepo setup), west will try to list the
zephyr modules issuing an error message. Using the --version option,
detect if west is being invoked from within an installation and disable
it in the negative case to avoid such errors.
Fixes #14177
Signed-off-by: Carles Cufi<EMAIL_ADDRESS>

@carlescufi Regarding this:

Using the --version option,
detect if west is being invoked from within an installation and disable
it in the negative case to avoid such errors.

This PR actually doesn't prevent out-of-tree.
If ZEPHYR_BASE is set, and pointing to a zephyr inside an installation, west --version will give that version.
I think this is correct behavior, but just wanted to make you aware that out-of-tree is possible, as long as ZEPHYR_BASE is set and points to something valid.
So correct, this PR is, avoid cmake: west: Allow mono-repo to build when west is installed
$ pwd
/tmp
$ echo $ZEPHYR_BASE
/projects/<path>/zephyr
$ west --version
West bootstrapper version: v0.5.4 (...)
West repository version: v0.5.4-12-gcc5a05f (/projects/<path>/.west/west)

Codecov Report

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

@@           Coverage Diff           @@
##           master   #14251   +/-   ##
=======================================
  Coverage   52.02%   52.02%
=======================================
  Files         307      307
  Lines       45484    45484
  Branches    10535    10535
=======================================
  Hits        23662    23662
  Misses      17030    17030
  Partials     4792     4792

Continue to review full report at Codecov.

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


docs(README): Update README with more info.

Updating our README to include more info on:

how devs can include the library
how devs can contribute and receive support (filing issues, Discord, etc.)

Note that once merged I'll update this line: https://github.com/googlemaps/android-maps-utils/compare/master...chris/update_readme#diff-04c6e90faac2675aa89e2176d2eec7d8R34 on PR #635

@barbeau going to merge this in so I can update #635. If you have any comments on the README update I'll address in that PR.


feat: add pollable promise

This will prepare the ground by defining a PollablePromise class that can execute the inner promise every time poll-oneoff is called.
Related to: https://github.com/bytecodealliance/jco/issues/153.

Thanks @eduardomourar this looks like a huge step in the right direction to me.
If we had comprehensive tests, I would merge straight away, but I'm looking into these async cases right now so will likely be making further changes here in the coming days to the code base. I don't want to break your work here unless we have a full end to end test suite for it.
So I'd ask you to consider which option you'd prefer - wait a couple of days to rebase / land this, add tests and land this, or land this now and risk my subsequent changes altering things?

I don't mind us merging as is because we are exercising most of the poll logic through the wasi-http-proxy integration test.  Besides, I do expect this to be modified anyway as part of your upcoming changes.

This is now superseded by https://github.com/bytecodealliance/jco/pull/244.


[Fix] Add missing max_token in request query

fixes #31

@nopeless thank you so much for this! I will either merge this in and then fix the tests after or I will suggest a patch. I'm hoping to find some time today or tomorrow.

whoops, forgot tests existed. I only tested manually

@kardolus also if it helps with context, i find myself using the query mode for batch jobs. that is why i need the max token on the output

@nopeless here's a patch that fixes the tests. Do you want to apply it? I can do it to after the merge, but it would be nice to keep the main branch green.
0001-fix-add-missing-max_token-in-request-query.patch

@kardolus i can apply that patch but i am also pretty sure that you can modify the pr itself

allow edits by maintainers is checked

@nopeless ah gotcha, either is fine by me. I just updated the patch btw :). Added the wrong file earlier.

Thank you!


AssignColumnWidths: Increase Performance With Large Max Widths

PR Summary
This commit is related to #15474. It improves the performance of the
AssignColumnWidths function in ColumnWidthManager.cs when very large
maximum widths are set. It accomplishes this by doing some math with
division and remainders to figure out the amounts instead of incrementing
by one each time.
While it does not resolve the primary issue raised in #15474, the
performance increase should open the way for more work to be done.
The performance improvements with the refactor are as follows:

Method
Mean
Error
StdDev
Median
Ratio
RatioSD

BeforeRefactor
340.000 ns
21.3756 ns
59.5866 ns
300.000 ns
56.55
8.05

RefactorWithAssignment
5.980 ns
0.1370 ns
0.1144 ns
5.992 ns
1.00
0.00

RefactorWithoutAssignment
5.021 ns
0.0300 ns
0.0266 ns
5.023 ns
0.84
0.02

PR Context
I have opened this PR to assist with #15474 and help fix the performance
issues that were pointed out there.
PR Checklist

[X] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[X] Summarized changes
[X] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[X] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[X] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[X] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[X] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[X] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

@SteveL-MSFT do we have existing testing for the formatting that we can rely on to catch a regression here? I don't see much here.

It would be nice to add new tests to cover the code.

I think we need follow conditions and  tests:

Sum of all field lengths < Console width
Last field is out of  Console width
Two last fields is out of  Console width

Test cases (f - fixed, v - non-fixed field):
f
fff
v
fv
vf
fffv
fffvv
vvvfff

There is only one test for AutoSize in Format-Table.Tests.ps1 :-(

@nickkimbrough Please look failed tests.

/rebase

@nickkimbrough Please look failed tests.

I have tried to reproduce these pipeline test failures locally and have not been able to. I tried building a Ubuntu 16.04 Docker container as that is what the build documentation for linux says to use. When I run just that test, it passes, but others fail. I think there is an issue with my environment. Here is my Docker file:
FROM ubuntu:16.04
RUN apt update
RUN apt install -y git
RUN apt install -y apt-transport-https
RUN apt install -y sudo
RUN apt install -y wget
WORKDIR /usr/src
ADD "https://api.github.com/repos/nickkimbrough/Powershell/git/refs" skipcache
RUN git clone https://github.com/nickkimbrough/PowerShell.git
WORKDIR PowerShell/
RUN git checkout nick-15474
RUN ./tools/install-powershell.sh

Is there an example Docker file out there somewhere that would assist me with running the unit tests locally?

@nickkimbrough I guess [console]::WindowWidth is 0 in our CI environment. You could add a test Should to confirm the fact. If it is true we can skip the test if [console]::WindowWidth == 0.

@iSazonov , that appears to have been the issue, thanks for the help there. I believe with that the tests are all passing and this PR is ready for the next step.

I believe it is useful PR.


add cocos attr to the script element in templates

To build project.json path, CCBoot.js is looking for a script element
with a cocos attribute. If element is not found, it loads project.json
from the current URL.
cocos attribute should be added in the template, because it is the
default CCBoot.js' behaviour, and usually, project.json is located with
game.min.js file.
https://github.com/cocos2d/cocos2d-html5/blob/develop/CCBoot.js#L2159

Thanks @thomas-jablonski .


Add service locator, setup unit tests.

Motivation: https://gameprogrammingpatterns.com/service-locator.html
Unit tests are generally a separate executable, but to achieve that here we would have to move all the game code into a library that both the game exe and unit tests exe can link to.
Instead, here we bundle unit tests into the game exe itself, and add a command line switch to run them instead of the game. Keep the project simple at the cost of binary bloat.
To add unit tests, simply create a cpp file in src/tests and use the ADD_TEST macro from src/tests/test.hpp. See test_services.cpp for a working example.
Running the unit tests:

Manually:

DogTales[.exe] --run-tests
DogTales[.exe] -t

CTest:

cd out/ubsan # CMake build directory
ctest -C Debug

IDE: On VSCode click the Tests icon on the left toolbar.

Approved :).


Horizontal scrollbars are not required for default table widget

Description
Increase width of default table widget so that horizontal scrollbars are not required
Fixes #4242
Type of change

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

How Has This Been Tested?
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
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] 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:
:white_circle: Total coverage has not changed
No changes to code coverage between the base branch and the head branch

@vicky-primathon Deploy Preview is tested and working fine. Good to go in release.

@vicky-primathon merge latest release, There is a resolve for the test fail

/ok-to-test sha=6610786


feat: add session count to fedimint-cli

We only expose the session count using the dev commands. This adds session count to fedimint-cli so federations can easily get the current session count, which is useful for deciding on an upcoming session count to shutdown after for coordinated upgrades.
This requires backporting to releases/v0.3 and releases/v0.4.
For improved UX, we should also surface the current session count in the admin ui. See: discord thread.

bash-5.2$ fedimint-cli session-count
{
  "count": 1
}

I don't get why would it be under admin. Should be either global or under dev IMO.

dev seems awkward in a production environment, but perhaps that's the best approach for now since it already exists and would allow us to skip cutting a v0.3.3-rc.1.
@dpc If you don't have a strong opinion against dev, let's just go with that and I'll update the upgrade docs.

@bradleystachurski I don't really see why it wouldn't be just global.

@dpc Let me know if this is what you had in mind

Successfully created backport PR for releases/v0.3:

#5670

Successfully created backport PR for releases/v0.4:

#5671


Provide better error message when applying false value where SecureHeaders::OPT_OUT is required

Expected outcome

I configure CSP to do disable secure headers in development when i set it to false
The exception message should detect that false is being used, and tell the user they must use SecureHeaders::OPT_OUT instead of false.

Actual outcome

This blows up with the following exception: secure cookie config must be a hash or boolean

This doesn't describe the issue, and is confusing because the value I'm applying is a boolean value. In this case we should return an exception message that says what actually needs to happen, which is that the user needs to pass in SecureHeaders::OPT_OUT.
Config
Please provide the configuration (SecureHeaders::Configuration.default) you are using including any overrides (SecureHeaders::Configuration.override).
SecureHeaders::Configuration.default do |config|
  config.cookies = {
    secure: Rails.env.production?,
    httponly: true
  }
  # ...
end

Happy to submit a quick PR for this functionality.

This is indeed confusing. Thanks for pointing this out. A PR would be lovely.


Support Webauthn

Environment
Flutter version: Latest
Android version:  10+
iOS version: 13+
Xcode version:  11+
Description
To support Webauthn or point me to a documentation if it already supported
Alternatives you've considered:
Images:

Well, you can use JavaScript Web Authentication API if it is supported by the native WebView itself.
Just check here https://caniuse.com/webauthn if this API is supported by the native WebViews or not.
As you can see there, this feature is supported on Android API level 21+. Instead on iOS, the native WKWebView class doesn't support it yet.
This is something not related to this plugin or any other WebView Flutter plugin, but it depends on the underlying Operating System.
In this case, the native WebView classes used are:

Android WebView
iOS WKWebView

@pichillilorenzo I believe it can work with SFSafariViewController is that used by flutter_inappwebview or can it be used instead of WKWebView?
Also can you elaborate on the use JavaScript part? You mean via Flutter/Dart somehow? Or via Swift?
Thanks!

Yes, probably, with SFSafariViewController the JavaScript Web Authentication API will work.
But SFSafariViewController and WKWebView are two different things:
SFSafariViewController is not a simple WebView, you don't have control over it and you can't execute any custom javascript from flutter/dart side. In fact, as you can see from the documentation of this plugin, there isn't any controller. You can just listen to some basic events.
In general, you use a WebView if your app customizes, interacts with, or controls the display of web content.
You can read When should I use Custom Tabs vs WebView? for more details.

Also can you elaborate on the use JavaScript part? You mean via Flutter/Dart somehow? Or via Swift?

I mean with JavaScript (that you inject from flutter side or that is already in the webpage).
Or do you mean something else?
When you say Webauthn, what are you referring to? The JavaScript Web Authentication API or something else?
Other things you may refer to is an Authentication Flow using Deep Linking, where I need to work on.

@pichillilorenzo Thanks for the explanation. I mean Webauthn as described here https://webauthn.io/ either on the web or through a webview, which is basically a way to authenticate a user by using their mobile device as an authenticator with biometric challenge. In that regard an App can self validate it self by using a webview and the same device to provide the biometric challenge.

Ok, I tested https://webauthn.io/ example demo form with InAppWebView and it seems that it doesn't support Webauthn (see https://stackoverflow.com/questions/56258147/android-webview-support-webauthn).
So, if you need Webauthn API enabled, you can use the ChromeSafariBrowser class, that is SFSafariViewController on iOS and ChromeCustomTabs on Android.
To enable JavaScript Webauthn API on InAppWebView widget (that is native "pure" WebView), it should be implemented natively (for example, on Android could be used this library) or, maybe, with Flutter/Dart if already exists a library for Webauthn (I didn't find any), and also create a bridge through JavaScript interfaces/handlers.
Well, in general, this requires a lot of work!!
So, if you need Webauthn API, you should use ChromeSafariBrowser class: tested on a real Android and iOS phone. On the emulator, the Webauthn API won't work!

Thank you for your guidelines, really appreciate it!

Ok, I tested https://webauthn.io/ example demo form with InAppWebView and it seems that it doesn't support Webauthn (see https://stackoverflow.com/questions/56258147/android-webview-support-webauthn).
So, if you need Webauthn API enabled, you can use the ChromeSafariBrowser class, that is SFSafariViewController on iOS and ChromeCustomTabs on Android.
To enable JavaScript Webauthn API on InAppWebView widget (that is native "pure" WebView), it should be implemented natively (for example, on Android could be used this library) or, maybe, with Flutter/Dart if already exists a library for Webauthn (I didn't find any), and also create a bridge through JavaScript interfaces/handlers. Well, in general, this requires a lot of work!!
So, if you need Webauthn API, you should use ChromeSafariBrowser class: tested on a real Android and iOS phone. On the emulator, the Webauthn API won't work!

In pub there is this library which can help to reopen this issue:
https://pub.dev/packages/webauthn

@mkhtradm01 implementing webauthn using that package is something that if it has to be implemented, it has to be done by the developer who uses this plugin and not this plugin directly.
In that case, you can implement whatever you want using javascript channels or whatever.


cant load into the game

title says it all
whenever i have fedoraware loaded in i cant get into matches (sometime i can without VAC bypass)
i tried with diffrent cheats , its working like it should.

sinc fedoraware got update  i can normally join can close this

skill issue


[AIRFLOW-4971] Add Google Display & Video 360 integration

Make sure you have checked all steps below.
Jira

[ ] My PR addresses the following Airflow Jira issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-XXX
In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-XXX], code changes always need a Jira issue.
In case you are proposing a fundamental code change, you need to create an Airflow Improvement Proposal (AIP).
In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

Description

[ ] Here are some details about my PR, including screenshots of any UI changes:

Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[ ] My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[ ] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain docstrings that explain what it does
If you implement backwards incompatible changes, please leave a note in the Updating.md so we can assign it to a appropriate release

Code Quality

[ ] Passes flake8

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@f40f4e7). Click here to learn what that means.
The diff coverage is 85.71%.

@@            Coverage Diff            @@
##             master     #292   +/-   ##
=========================================
  Coverage          ?   80.12%
=========================================
  Files             ?      610
  Lines             ?    35174
  Branches          ?        0
=========================================
  Hits              ?    28183
  Misses            ?     6991
  Partials          ?        0

Impacted Files
Coverage Δ

airflow/gcp/example_dags/example_display_video.py
0% <0%> (ø)

airflow/gcp/operators/display_video.py
100% <100%> (ø)

airflow/gcp/hooks/display_video.py
85.71% <85.71%> (ø)

airflow/gcp/sensors/display_video.py
94.44% <94.44%> (ø)

Continue to review full report at Codecov.

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


adds support for multiple inputs via json files

The API can now accept more than one single input file by passing a json file containing a list of keys with associated url or path to the file. Still retains full compatibility with single file input.
Breaks compatibility with older styles of the config: The config now needs an extra layer of keys in the input section of the model, the schema and the examples have been updated already.
The documentation was updated to add the relevant information (an extra section on I/O for the API) and how to contribute. Links to examples.

Pull Request Test Coverage Report for Build 216

0 of 0   changed or added relevant lines in 0 files are covered.
12 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.8%) to 94.444%

Files with Coverage Reduction
New Missed Lines
%

modelhubapi/pythonapi.py
4
96.26%

modelhubapi/restapi.py
8
94.94%

Totals

Change from base Build 214:
-0.8%

Covered Lines:
425

Relevant Lines:
450

💛  - Coveralls

Tests will run once files are in the repo


Need to add Exchange / OWA / Outlook stuff

https://sites.google.com/site/vjsmoreira/security/owa_user_enum
https://sites.google.com/site/vjsmoreira/security/owa_user_enum/owa_user_enum.rb?attredirects=0
https://www.redspin.com/it-security-blog/2009/08/attacking-webmail-user-accounts/
http://www.irongeek.com/i.php?page=videos/derbycon4/t521-penetrate-your-owa-nate-power
https://github.com/sensepost/ruler
https://silentbreaksecurity.com/malicious-outlook-rules/
http://www.blackhillsinfosec.com/?p=5465
https://labs.mwrinfosecurity.com/blog/malicous-outlook-rules/
https://dmitrysotnikov.wordpress.com/2008/05/08/execute-powershell-scripts-from-your-smartphone/
https://github.com/mwrlabs/XRulez

https://pbs.twimg.com/media/CycZRERWEAA8uES.png:large

https://github.com/dafthack/MailSniper

Good stuff @mubix. Hope to have some time soon to work on integrating some of these.


Feature: Lint fixes

Type of feature
🍕 Feature
Current behavior
We have a number of lint errors that have been overlooked. Most PRs have broken builds and they are caught PR review and could be caught sooner.
https://github.com/open-sauced/ai/pull/127
Suggested solution
1 PR to fix everything in the results from "npm run lint"
Additional context
No response
Code of Conduct

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

Contributing Docs

[ ] I agree to follow this project's Contribution Docs

After the auto fix I got: ✖ 31 problems (27 errors, 4 warnings)
I am resolving them right now.

The cursor position insert needs a refactor 🔥 🚒

The insertAtCursorFromStream(...) utility isn't being used right now. You can safely comment it out/remove it.
If we ever have to use the utility we'll have to remove the no-loops rule from the linting config. Because I believe the loop used in this utility function is appropriate.


Delete escrow payment sample–related file

Description
This PR removes the ScalarDL escrow payment sample since it is outdated and no longer maintained.
Related issues and/or PRs

We've already removed this sample from the ScalarDL docs site: https://github.com/scalar-labs/docs-scalardl/pull/510

Changes made

Deleted the escrow payment sample doc and related files.

Checklist

The following is a best-effort checklist. If any items in this checklist are not applicable to this PR or are dependent on other, unmerged PRs, please still mark the checkboxes after you have read and understood each item.

[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have updated the documentation to reflect the changes.
[x] Any remaining open issues linked to this PR are documented and up-to-date (Jira, GitHub, etc.).
[x] Tests (unit, integration, etc.) have been added for the changes.
[x] My changes generate no new warnings.
[x] Any dependent changes in other PRs have been merged and published.

Additional notes (optional)
N/A
Release notes
N/A

I think we can keep this sample application in the scalardl repository even if it's not maintained at this time. This is because there is a possibility that we will update this sample application and move it to scalardl-samples in the future.
In other words:

It's not maintained now. So, we should not show it on the document site to users.
However, for future use, we can keep the original sample application code in this scalardl repository.

@feeblefakie @jnmt
What do you think?

@josh-wong @kota2and3kan Thanks for the maintenance. We have a plan to reorganize this repository and the sample repository. I think we can keep it as is until that time, but it's not a strong opinion since we can revive it anytime.

@kota2and3kan @jnmt Thanks. I didn't know that we're planning on updating this sample app in the future. In that case, I'm OK with keeping it.
I'll go ahead and close this PR.


Author class

There is an Author table in my ER Diagrams. This table is linked to a book_author table that is linked to a Books table because some books have more than one author.

Merge with #23, but keeping open since this is a fundamental part. of the Book Part of our project.


builder.ForCockroachDbInterleaveInParent Not Working

builder.ForCockroachDbInterleaveInParent is not generating no one sql code.
on the migration Up, CreateTable, there is no reference to the interleave in parent.
Database Provider: Npgsql.EntityFrameworkCore.PostgreSQL 2.0.1
Operating system: Windows 7
IDE: Visual Studio 2017 15.5.7

Duplicate of #288, this has been fixed and will be released in the next version.


Administrative rights problem

When I run applications with administrative rights, play a sound then close the app the application name stays on Windows Mixer for a while then the name disappears and changes for "Name not available" but stays on the sound mixer, I can reproduce this even with the demos, the funny thing is when I run apps without admin rights, play a sound and close it is instantly removed from sound mixer.

That's strange, not sure what would cause that. Possibly the window has closed, but a background thread is still running? Can you check in process explorer if the demo app is still running?

The thread closes with the window normally. I don't know why only happens when I lunch the app with admin rights.

OK, well thanks for reporting, but not sure what (if anything) can be done about this at the moment.