gpio_pin_get()   reads only Input Port (Input Data Reg), it should also read Output Port (Output Data Reg)

Is your enhancement proposal related to a problem? Please describe.
The driver function gpio_pin_get
reads only input port pin
There will be use cases to validate the status of output port pins from driver
before taking any action in application
For the same, there seems to be no zephyr interface function in the gpio.h
e.g in-case of stm32 based board the function gpio_pin_get() reads input pin
via LL_GPIO_ReadInputPort(gpio)  (and various other intermediate functions in between)
static int gpio_stm32_port_get_raw(const struct device *dev, uint32_t *value)
{
   const struct gpio_stm32_config *cfg = dev->config;
   GPIO_TypeDef *gpio = (GPIO_TypeDef *)cfg->base;

   *value = LL_GPIO_ReadInputPort(gpio);

   return 0;
}

However in the function gpio_stm32_port_set_masked_raw()
we can see LL_GPIO_ReadOutputPort() is accessed.
Describe the solution you'd like
A separate function for reading Output Port
will improve the implementation of reading output port pins in a more reliable and real-time manner
gpio_pin_get_output() can added to read output port via a new function gpio_stm32_port_get_output_raw() like below
static int gpio_stm32_port_get_output_raw(const struct device *dev, uint32_t *value)
{
	const struct gpio_stm32_config *cfg = dev->config;
	GPIO_TypeDef *gpio = (GPIO_TypeDef *)cfg->base;

	*value = LL_GPIO_ReadOutputPort(gpio);

	return 0;
}

Describe alternatives you've considered
The application can use flags to keep a track of data set on the pin but it is still unreliable.
Additional context

@sumit404-work It seems that what you are requesting is a new function to GPIO API, is that correct ?

@sumit404-work It seems that what you are requesting is a new function to GPIO API, is that correct ?

Yes

ok, then if you want your request to be considered, please rework is to address the generic GPIO API.

ok, then if you want your request to be considered, please rework it to address the generic GPIO API.

Hi @erwango I have updated the name and description to generic GPIO API.

The requested functionality is rarely asked for and needed by the real life applications. The application that does require to know the state of the output ports can keep track of the state locally. This takes little resources and is faster than going through the full driver API call.
I believe we should extend GPIO API only if this issue gets more traction / there are more users that need the feature. If that's not the case I propose to reject the feature request.

Thanks for the feedback @mnkp. I propose to let the PR open for a time and see if more people concur.
Also, I would like to add that if the change is not made in the gpio API, it can't be implemented in drivers, but applications still have the possibility to directly access GPIO resources and get the expected output ports states (for instance in STM32, using LL API)

i tried initializing like this
gpio_pin_configure_dt(&LED5_spec, GPIO_OUTPUT_ACTIVE | GPIO_INPUT)

I think this would be a useful feature, and one that doesn't seem too disruptive to implement. While reading output ports is obviously not as common as reading input ports, there are valid use-cases and tracking the state through an application can be messy. The alternative of directly accessing GPIO resources with a low-level driver API is not portable.

This would be a useful feature.  I use Zephyr in classes that I teach, and having the ability to explicitly get a pin status, regardless of being input/output would be great, especially for outputs that are toggled, and you might not be aware of things that previously changed state.
If this isn't considered as an API change, then it would be good for this function to return an error when trying to get the state of an output pin.  Right now, this will return 0, regardless of the actual output pin state, which is confusing because you may think that the output state is actually LOW.

@mnkp @erwango Any updated thoughts on this since it's had a couple more requests?


uv_interface_addresses: support 64 bits MAC addresses

IPv6 interfaces can have a 64 bits MAC address (EUI-64) but libuv currently only supports MAC-48.
Changing the size of uv_interface_address_t.phys_addr from 6 to 8 bytes constitutes an ABI change so this cannot be done until libuv v2.
See https://github.com/nodejs/node/issues/5629#issuecomment-209292832 for background.

Is there a case to be made for making all structs a pointer to an internal struct to make it easier to make this sort of change while maintaining ABI compatibility?

From an ABI maintenance perspective, yes, that would be much easier, but one of libuv's design goals was to be as much zero-copy / zero-alloc / zero-indirection as possible.  (Whether that's worth the trouble is something reasonable people can disagree on.)
An approach we've taken in the past is to add unused filler fields to structs that we can cannibalize without breaking API/ABI in a stable release.

Ok, I see. Thanks for clarifying.
Adding unused fields proactively seems like a reasonable approach. Something to keep in mind for 2.0 perhaps :)

I've found the bug. Which branch should I fix?


Version 6.x won't compile using SPM

Hi,
im using KF in my SwiftUI project, i was using the v5.x and it works fine 👍 , now i want to use the new transition modifier to fade the placeHolder but the project won't build. i have this error:

can you help please, thanks :)

This is not an error and I guess it should be totally safe to click the "Perform Changes" button to get rid of it? (I am not sure what is the unnecessary files are listed. Are they from Kingfisher or can you let me know what these files exact are?)

Thank you for your quick answer.
i did "Perform Changes" but i have the same error after. I did use KF v6 in other project and it works fine, and as xcode doesn't give the list of "unnecessary build files" it hard to guess.
i'm going to close this issues as its specific to my project i think.
Thanks anyway.


llama3.1 70B OOM for qlora+fsdp sft.

Reminder

[X] I have read the README and searched the existing issues.

System Info
I'm using the latest llamafactory version.
Reproduction
Hi, I'm trying to use qlora+fsdp for the llama3.1 70B model with 8xA100(640G). In my case, the context length is large(32k), I'm using the fsdp and qlora setting(quantization_bit=4) with fa2, but still get OOM after some iterations.  Is there any other way to save the memory further?
Expected behavior
No response
Others
No response

Also tried lora with deepspeed zero3 on 2 nodes(16xA100 80G), also got OOM.

Try reduce context length


implemented for saving meal planning entries into json file, and being able to load and save them whenever we run the program.

JSONArrayTypeAdapter class:
Line 13: Consider handling potential exceptions from src.get(i) (e.g., JSONException) to make the code more robust.
Line 15: If JSONArray elements are not always of type String, calling .toString() might not produce the desired JSON representation. Use context.serialize() instead to let Gson handle nested serialization.
Deserialize method:
Line 22: json.getAsJsonArray() assumes the input JSON is always an array. Consider adding a check to ensure json is a JSON array to avoid runtime errors.
Line 24: element.getAsString() might throw an exception if the element is not a string. If mixed types are possible, handle them appropriately.
LocalDateAdapter class:
Line 11: date.toString() formats the date as yyyy-MM-dd. If a custom format is needed, consider using DateTimeFormatter.


Resolve Xcode 9.3 warnings and deprecations

This pull request should resolve #219

not sure why my last commit is failing to build. I'm assuming it has something to do with the version of Xcode that we're testing against with Travis? open to ideas here.

Please use FLEX_AT_LEAST_IOS11_SDK to wrap the @available since the syntax is added in Xcode 9.0. The CI still builds on Xcode 8 so it will fail.

Sorry for the long delay. Pushed an update just now! Let me know what other steps you'd like to see.

Looks good to me!


Add managedblockchain network functions

Add managedblockchain - start with network functions

@bblommers - should I add another PR to this issue to continue adding functionaltiy or close and open a new issue?

Hey @jpbelleau - if you're adding new functionality, you can just create a standalone PR.
It doesn't have to be tied to a specific issue.
Will close this - if you happen to run into problems with any of the services, feel free to open a new issue


stroke order of 盖 is wrong but similar 羔 is correct in hanzi-writer-data version 2.0

Will update the git of hanzi-writer-data instead


feat(backup) The backup list supports progress

https://github.com/longhorn/longhorn/issues/3168
Signed-off-by: Siye Wang<EMAIL_ADDRESS>

LGTM, I've verified this PR.


How to use custom icons for Prev and Next buttons?

Hi!
The documentation mentions that we can use prev-text and next-text to customize the HTML, but I can't render a custom icon component.
Any example how can I achieve that?

Thanks for asking. You may try
     <paginate         :prevText="''"       ></paginate>
to directly insert an image to prevText or nextText.
Or set a class with css background-setting to prev-link and next-link. Hope is helps.


Create multiple folders according to the pattern

📝 Provide a description of the new feature
What is the expected behavior of the proposed feature?  What is the scenario this woudl be used?
There is no easy way how to create multiple folders with predefined names, for example I wanna create 100 folders with names:
001
002
003
.
.
.
100
I have to use my own script for that :(

If you'd like to see this feature implemented, add a 👍 reaction to this post.

what is the common use case to do this?

Can we reopen? Yesterday I just needed this feature again... not possible without a batch file... quite annoying. Or tell me how to create lets say 1000 folders with names 0001, 0002, 0003 .... 1000?

@eldenroot. can you fill out this template.  we really need the use case which is why we closed this.  PowerShell can quickly do this style interaction scripting and to create a tool seems unclear the larger, generic need.
https://github.com/microsoft/PowerToys/issues/new?assignees=&labels=Triage-Needed&template=feature_request.yml


Docstrings are missing from the entire project

Docstrings should be added for all the functions in the add-in. This will allow us to prevent issues such as https://github.com/accordproject/cicero-word-add-in/issues/35. Moreover, adding docstrings should be enforced by using some eslint configuration.

@algomaster99
I think I will be able to tackle this, so is it fine if I go ahead with this issue?

Sure, go ahead!

@algomaster99
I have created a PR for the issue. Let me know if there are any changes required.


Syntax Error When Running BFS Recursive Query in PostgreSQL with Apache AGE

Environment:
PostgreSQL 16.3 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0, 64-bit
Apache AGE 1.5.0
Description:
I am trying to execute a BFS (Breadth-First Search) recursive query in PostgreSQL using Apache AGE, but I keep encountering a syntax error. Below is the SQL query I used:
-- The query should return a result set with all nodes traversed in a breadth-first manner starting from the node with extid = 1.
WITH RECURSIVE bfs AS (
    SELECT id, extid, 1 AS level
    FROM cypher('my_graph', $$
        MATCH (n:Node {extid: 1})
        RETURN id(n) AS id, n.extid AS extid
    $$) AS (id agtype, extid agtype)

    UNION ALL

    SELECT e.end_id AS id, e.extid, p.level + 1 AS level
    FROM bfs AS p
    JOIN cypher('my_graph', $$
        MATCH (n:Node)-[r:RELATION]->(m:Node)
        WHERE id(n) = p.id
        RETURN id(m) AS end_id, m.extid AS extid
    $$) AS e(end_id agtype, extid agtype)
)
SELECT * FROM bfs;

The following error occurs when I try to execute the query:
ERROR:  syntax error at or near ")"
LINE 17: )

According to the Apache AGE documentation, using cypher queries within CTEs (Common Table Expressions) should be supported without restrictions.
If there's a specific way to write recursive queries or if there's a known issue with the recursive WITH clause in Apache AGE, I would appreciate guidance on how to correct this.
Thank you!

I have discovered that the issue was due to my query missing the necessary JOIN key. After correcting the query, I was able to obtain the correct results. Below is the setup and the final working query:
SELECT * FROM ag_catalog.create_graph('my_graph');

-- vertex
SELECT * FROM cypher('my_graph', $$
    CREATE (a:Node {extid: 1, name: 'Node 1'}),
           (b:Node {extid: 2, name: 'Node 2'}),
           (c:Node {extid: 3, name: 'Node 3'}),
           (d:Node {extid: 4, name: 'Node 4'}),
           (e:Node {extid: 5, name: 'Node 5'})
$$) AS (result agtype);

-- bidirectional edge
SELECT * FROM cypher('my_graph', $$
    MATCH (a:Node {extid: 1}), (b:Node {extid: 2})
    CREATE (a)-[:CONNECTED_TO]->(b),
           (b)-[:CONNECTED_TO]->(a)
$$) AS (result agtype);

SELECT * FROM cypher('my_graph', $$
    MATCH (b:Node {extid: 1}), (c:Node {extid: 3})
    CREATE (b)-[:CONNECTED_TO]->(c),
           (c)-[:CONNECTED_TO]->(b)
$$) AS (result agtype);

SELECT * FROM cypher('my_graph', $$
    MATCH (c:Node {extid: 2}), (d:Node {extid: 4})
    CREATE (c)-[:CONNECTED_TO]->(d),
           (d)-[:CONNECTED_TO]->(c)
$$) AS (result agtype);

SELECT * FROM cypher('my_graph', $$
    MATCH (d:Node {extid: 4}), (e:Node {extid: 5})
    CREATE (d)-[:CONNECTED_TO]->(e),
           (e)-[:CONNECTED_TO]->(d)
$$) AS (result agtype);

-- bfs
WITH RECURSIVE bfs AS (
    SELECT id, extid, 1 AS level, ARRAY[id] AS visited
    FROM cypher('my_graph', $$
        MATCH (n:Node {extid: 1})
        RETURN id(n) AS id, n.extid AS extid
    $$) AS (id agtype, extid agtype)

    UNION ALL

    SELECT e.end_id AS id, e.end_extid AS extid, p.level + 1 AS level, p.visited || e.end_id AS visited
    FROM bfs AS p
    JOIN cypher('my_graph', $$
        MATCH (n:Node)-[r:CONNECTED_TO]->(m:Node)
        RETURN id(n) AS start_id, id(m) AS end_id, m.extid AS end_extid
    $$) AS e(start_id agtype, end_id agtype, end_extid agtype) ON e.start_id = p.id
    WHERE e.end_id<>ANY(p.visited)
)
SELECT * FROM bfs;

       id        | extid | level |                      visited
-----------------+-------+-------+---------------------------------------------------
<PHONE_NUMBER>31969 | 1     |     1 | {844424930131969}
<PHONE_NUMBER>31970 | 2     |     2 | {844424930131969,844424930131970}
<PHONE_NUMBER>31971 | 3     |     2 | {844424930131969,844424930131971}
<PHONE_NUMBER>31973 | 5     |     2 | {844424930131969,844424930131973}
<PHONE_NUMBER>31972 | 4     |     3 | {844424930131969,844424930131970,844424930131972}
(5 rows)


[ssh] Upgrade Version for Release

Fixed small bugs found during manual tests
Upgraded version from 1.1.2 to 1.1.3

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[x] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
The precondition is to put your code inside this repository and upgrade the version in the pull request but do not modify src/index.json.

ssh


Don't label kind=rock|stone features

Connects to https://github.com/mapzen/vector-datasource/issues/777
@nvkelso could you review please?

LGTM


Visual C++ Redistributable Package Check with Fixes

Took pull request #139  and made some changes to it to address some issues.

@lusassl-msft  please review before merge

@dpaulson45 review done. Validated on Exchange 2010, 2013, 2016. Please merge.


Support for JSON output

Having JSON output as an option would be nice, especially when doing -l targets.txt, for example
{"x.subdomain.com" : ["new.subdomain.com",  "second.subdomain.com", "etc.."]}

Just mapping the specific taarget to the domains found from CSP.

Hi @NotoriousRebel,
I'm trying to add support for JSON, but there is a weird behaviour appening.
The devel branch (https://github.com/edoardottt/csprecon/tree/devel) contains the modifications applied to add support for JSON (see this commit https://github.com/edoardottt/csprecon/commit/3d731036582316a11d3594b569c7eba8cb9bfb4b).
The strange behaviour is surely caused by channels/concurrency/wait groups.
Normal output (-j flag not specified)
The program processes all the input and exits normally.
Try with
echo URL | go run cmd/csprecon/csprecon.go

or
cat URLs.txt | go run cmd/csprecon/csprecon.go

JSON output (-j flag specified)
The program processes all the input and doesn't exit, waits infinitely.
Try with
echo URL | go run cmd/csprecon/csprecon.go -j

or
cat URLs.txt | go run cmd/csprecon/csprecon.go -j

I don't know what I'm doing wrong here, let me know if ypu spot something.

Completed https://github.com/edoardottt/csprecon/commit/1afa44739a6a451f92703e3af5d303daf0fd154b


distro: remove excluded package if explicitly specified in the bp

:warning: WIP experiment :warning:
When a users wants to install a package that itself is excluded or its
dependency is excluded, it fails the build. There is no known workaround
for this shorcoming of our current design.
Therefore, remove a package from the list of excluded if it is
explicitly mentioned in a blueprint. This will not solve the issue with
dependencies, but it will create a possibility of a workaround.
This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] create a file in news/unreleased directory if this change should be mentioned in the release news
[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

I would love to see this fixed. As you say, this still leaves the issue with a dependency of an included package being excluded. I think there are two other potential solutions:

We stop including the core group, and instead list all the packages. We also disable weak dependencies if necessary. This would allow us to stop excluding any packages. The downside is that we would not automatically reflect changes in the core group. Note that this is already how rhel-for-edge is done.
We could append several package sets to the dnf transaction, first the base one (with excludes), then the user provided ones. I think @gicmo looked into that and said it would work, but I may misremember.

I would love to see this fixed. As you say, this still leaves the issue with a dependency of an included package being excluded. I think there are two other potential solutions:
1. We stop including the `core` group, and instead list all the packages. We also disable weak dependencies if necessary. This would allow us to stop excluding any packages. The downside is that we would not automatically reflect changes in the `core` group. Note that this is already how `rhel-for-edge` is done.

2. We could append several package sets to the dnf transaction, first the base one (with excludes), then the user provided ones. I think @gicmo looked into that and said it would work, but I may misremember.

The second one sounds very nice, I'll look into it. Nevertheless would it make sense to you to have both the solution I've currently implemented and one of those you propose? Unless we have 0 excluded packages, this would still make sense, wouldn't it?

The change IMO makes sense at least as a temporary workaround. If the package specified as "wanted" by the user is part of our Image Type's PackageSet() exclude list, this change allows the user to have this package installed on the image. Installation of the user-requested package can however still fail if its dependency is excluded. Nevertheless this change allows the user to workaround this case as well by specifying this dependency also as explicitly "wanted", thus removing it from the list of packages to exclude.

2. We could append several package sets to the dnf transaction, first the base one (with excludes), then the user provided ones. I think @gicmo looked into that and said it would work, but I may misremember.

I like this idea.  It's straightforward and simple enough.

Just for the record: The error message we return is pretty helpful. If we had this workaround it should be simple enough to exclude the conflicting packages by hand.
[2021-04-12T15:46:02.568Z] + sudo composer-cli --json compose start redhat-lsb-core qcow2
[2021-04-12T15:46:02.568Z] + tee /tmp/compose-start.json
[2021-04-12T15:46:03.137Z] {
[2021-04-12T15:46:03.137Z]     "status": false,
[2021-04-12T15:46:03.137Z]     "errors": [
[2021-04-12T15:46:03.137Z]         {
[2021-04-12T15:46:03.137Z]             "id": "DepsolveError",
[2021-04-12T15:46:03.137Z]             "msg": "DNF error occured: DepsolveError: There was a problem depsolving ['@core', 'authselect-compat', 'chrony', 'cloud-init', 'cloud-utils-growpart', 'cockpit-system', 'cockpit-ws', 'dhcp-client', 'dnf', 'dnf-utils', 'dosfstools', 'dracut-norescue', 'insights-client', 'NetworkManager', 'net-tools', 'nfs-utils', 'oddjob', 'oddjob-mkhomedir', 'psmisc', 'python3-jsonschema', 'qemu-guest-agent', 'redhat-release', 'redhat-release-eula', 'rsync', 'subscription-manager-cockpit', 'tar', 'tcpdump', 'yum', 'redhat-lsb-core', 'kernel', 'dracut-config-generic', 'grub2-pc', 'grub2-efi-x64', 'shim-x64']: \n Problem: conflicting requests\n  - package redhat-lsb-core-4.1-47.el8.i686 requires redhat-lsb-submod-security(x86-32) = 4.1-47.el8, but none of the providers can be installed\n  - package redhat-lsb-core-4.1-47.el8.x86_64 requires redhat-lsb-submod-security(x86-64) = 4.1-47.el8, but none of the providers can be installed\n  - package redhat-lsb-submod-security-4.1-47.el8.i686 requires nss(x86-32), but none of the providers can be installed\n  - package redhat-lsb-submod-security-4.1-47.el8.x86_64 requires nss(x86-64), but none of the providers can be installed\n  - package nss-3.53.1-17.el8.i686 is filtered out by exclude filtering\n  - package nss-3.53.1-17.el8.x86_64 is filtered out by exclude filtering"
[2021-04-12T15:46:03.137Z]         }
[2021-04-12T15:46:03.137Z]     ]
[2021-04-12T15:46:03.137Z] }

This is a reasonable workaround covering some of the cases. I don't see a reason to not include it.
I would suggest changing the test though. PSI resources are scarce and I overall prefer to run tests on Fedora/CentOS Stream just because they're more available to contributors. I see two options:
1. Running the new test on Fedora/CS on AWS.

Sounds good :+1:

2. Given that the test itself takes only 5 minutes, I think we can even include it in the base tests. Base tests are usually the fastest tests so I'm not worried too much about making them bigger. We can always gather more data about the runtime of our test suite and split it.

I'm ok with running the test on the same machine but in such case I'd not call them "base" tests anymore to prevent confusion.

2\. We could append several package sets to the dnf transaction, first the base one (with excludes), then the user provided ones. I think @gicmo looked into that and said it would work, but I may misremember.

Sorry if I'm repeating stuff but I can't remember why (or if) we dismissed this idea.  What would happen if we added the blueprint packages as a separate package set, depsolved it, and then merged that package set into the base packages during manifest creation?

2\. We could append several package sets to the dnf transaction, first the base one (with excludes), then the user provided ones. I think @gicmo looked into that and said it would work, but I may misremember.

Sorry if I'm repeating stuff we already covered but I can't remember why (or if) we dismissed this idea. What would happen if we added the blueprint packages as a separate package set, depsolved it, and then merged that package set into the base packages during manifest creation?

According to my research of the dnf API, communication with the dnf team, and discussion with Christian there is no way to do this. We could do something like this, but that doesn't look nice IMO: https://github.com/weldr/lorax/blob/46ab9e55f553667ef8538a1002272fe365272574/src/pylorax/ltmpl.py#L581
That said, I'm all in for suggestions!

@ondrejbudai : I've made the changes you suggested. I also had to stop using the run_tests function in the Jenkinsfile because running it twice resulted in failure. The ci_details.sh script failed on:
if rpm --quiet -q python36; then
    echo -e "\n FAIL: python36 is installed, see #794 ..."
    exit 1

because after running base tests, it was already installed.

CI failure should be unrelated, any additional concerns @ondrejbudai ?


Bugs in ColBERT collection indexer _concatenate_and_split_sample() method

jbross created the following on May 24:

In https://github.ibm.com/ai-foundation/OneQA/blob/master/oneqa/ir/dense/colbert_top/colbert/indexing/collection_indexer.py#L216, the line

sample, sample_heldout = sample.split(int(sample.size(0) - min(.5 * sample.size(0), 50_000)), dim=0)

will fail with an exception in all cases where the sample.size(0) is < 50_000 and is an odd number:

The torch.tensor.split(int) method will split a tensor into equal sized sub tensors along the given dimension, where the last sub tensor might be smaller.
In case that the sample size is odd and < 50_000, the above line of code will always result in 3 splits (last split has length 1), and an exception will be raised as code is trying to assign 3 values to just 2 variables (sample, sample_heldout = ...).

The comment in https://github.ibm.com/ai-foundation/OneQA/blob/master/oneqa/ir/dense/colbert_top/colbert/indexing/collection_indexer.py#L211 says
"# Shuffle and split out a 5% "heldout" sub-sample [up to 50k elements]", but the code actually splits out 50% (not 5%) of the data!

Suggested fix for both issues:
heldout_fraction = 0.05 # 5%
heldout_size = int(min(heldout_fraction * sample.size(0), 50_000))
sample, sample_heldout = sample.split([sample.size(0) - heldout_size, heldout_size], dim=0)

Original issue: https://github.ibm.com/ai-foundation/PrimeQA/issues/214

On May 26, franzm commented:
@jbross good catch, thanks, I've also shared it with the Stanford people.

@franzmpub : please update the status and the pipeline label for this issue

Fixed in PR 270


[Docs] Range is typed like range?: boolean | {};

Hello :wave:
In the docs:
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#semanticTokensOptions
range is typed like:
range?: boolean | {
};

but I expected it to be like:
range?: boolean | Range

I think you may misunderstand what SemanticTokensOptions is for. That is for the language server to declare on initialization what semantic tokens options it supports under ServerCapabilities. It wouldn't make sense to declare an actual range at that point. And the empty object is for forward compatibility to have a placeholder for future options.

Yep, you are right 🙂


Node cloning across documents

A way to copy a node, without having to serialize it to a string. The document that does the cloning becomes the new node's document.

I was just yesterday emailing someone about it.
Thanks for this! :)


Add eslint

Don't know what you think, but eslint is very handy. I know this is a POC for the moment, but this will eventually be the pdf server in production.
Maybe airbnb is not your predilect styleguide. Just let me know and I'll change it

We normally use standard with a standardize task and a auto fix on commit (via husky as dev dependency)

Cool. I use the same approach! I'll update this PR with that


Can't get scripts running.

I apologize for all the issues. For some reason though I can't get any scripts to display in the topbar. Here is config.h command >---{ col_gray3, "sb-clock",>--->--->---1.0,>--->---1}
❯ printenv PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/14/bin:/home/justcausewhynot/.local/bin/dwm/statusbar-scripts

And sb-clock the script i'm trying to run
#!/bin/dash

date="$(date +'%Y-%m-%d %k:%M:%S-%Z%:::z')"
echo "$date"

I just can't get it to work, and I don't know why.

no need of echo, date already prints stuff:
#!/bin/sh
date +'%Y-%m-%d %k:%M:%S-%Z%:::z'

also on the interval, make sure the number its non decimal. It could mess up calculations, I doubt it but better be safe.
1.0 to 1

and worth taking a look at https://github.com/explosion-mental/scripts

Is it possible to have a lower interval than 1?

I believe the error isn't with the script. Because the script isn't showing up in proc list in btop. Unless the script doesn't have a separate pid, and uses the same one as dwm.
Here's the updated script.
  2 #!/bin/dash
  1
3   date +'%Y-%m-%d %k:%M:%S-%Z%:::z'

The script works if I run it manually `dash ~/sb-clock

One suggestion I forgot to mention in the readme:
The way timing works is by calculating the GCD (greatest common denominator).
for example:
BLOCK1 -> interval1 = 10
BLOCK2 -> interval2 = 200
GCD = 10
meaning that dwm will be signaled every 10 seconds, to execute the script of BLOCK1. When the signaling has sum up to 200 (20 times 10 -> 200 seconds after), the BLOCK2 script will be executed.
This is for 2, 3 or N blocks that are defined in the blocks[] array

The script works if I run it manually dash ~/sb-clock
By works I mean it outputs in console correctly. Not appearing in bar.

Can you try it changing the shebang to just sh? #!/bin/dash -> #!/bin/sh

Would any of these patches cause issues off the top of your head
 dwm-actualfullscreen-20211013-cb3f58a.diff
 dwm-aspectresize-6.2.diff
 dwm-attachaside-6.3.diff
 dwm-decorhints-6.2.diff
 dwm-doublepressquit-6.3.diff
 dwm-hide_vacant_tags-6.3.diff
 dwm-integrated-status-text-6.3.diff
 dwm-movestack-20211115-a786211.diff
 dwm-noborderselflickerfix-2022042627-d93ff48803f0.diff
 dwm-steam-6.2.diff
 dwm-swallow-6.2.diff
 dwm-systray-6.3.diff
 dwm-truecenteredtitle-6.3.diff

Can you try it changing the shebang to just sh? #!/bin/dash -> #!/bin/sh

I can, but i've got sh linked to dash & zsh as login/interactive shell. Don't know if that matters.

This is very good to know. Thanks for sharing.

Would any of these patches cause issues off the top of your head
 dwm-actualfullscreen-20211013-cb3f58a.diff
 dwm-aspectresize-6.2.diff
 dwm-attachaside-6.3.diff
 dwm-decorhints-6.2.diff
 dwm-doublepressquit-6.3.diff
 dwm-hide_vacant_tags-6.3.diff
 dwm-integrated-status-text-6.3.diff
 dwm-movestack-20211115-a786211.diff
 dwm-noborderselflickerfix-2022042627-d93ff48803f0.diff
 dwm-steam-6.2.diff
 dwm-swallow-6.2.diff
 dwm-systray-6.3.diff
 dwm-truecenteredtitle-6.3.diff

Looks good, have fun patching!
About the systray patch, remember that stsw represents the overall status width (all the text of the blocks + delimiters). You will need to adapt to this new var to the original patch, you can take a look at my build dwm.c since I also have the systray patch.

About the systray patch, remember that stsw represents the overall status width (all the text of the blocks + delimiters). You will need to adapt to this new var to the original patch, you can take a look at my build dwm.c since I also have the systray patch.

I did look through your dwm.c, and that helped me figure out a few conflicting lines.
I also changed the shebang from dash to sh, but unfortunately the behavior is the same.

Is there anyway to test if the script is running, and just not displaying in top bar vs not running at all?

If I run /bin/sh -c sb-clock I get the same error, and i'm using zsh with zsh-fast-syntax-highlighting and it highlights as correct so I think PATH is working. But if I run chmod +x sb-clock I get chmod: cannot access 'sb-clock': No such file or directory

chmod +x .local/bin/dwm/statusbar-scripts/sb-clock

It's working now!!

It wasn't executable. Silly mistake by me. Thank you so much for your help!


snapshot bug????

When the amount of data is large(service/routes/upstreams/targets/certificates/sni), the [instant snapshot] and [ scheduled tasks] function does not work, and there is no log. ver:KONGA 0.13.0

@pantsel konga 0.14.1 solved,thank you very much...

@taotao2014 , cheers


bug: unexpected move + conditional + array combination

Bug Report
Cairo version:
cairo: 2.0.1
Current behavior:
After taking a snapshot of a struct, calling clone on that struct doesn't work properly.
Expected behavior:
We should be able to call clone() on a struct even if it has been snapshot before.
Related code:

use array::ArrayTrait;
use clone::Clone;

#[derive(Clone, Drop)]
struct Foo {
    f: felt252,
    arr: Array<felt252>,
}

fn check(f: @felt252) -> bool {
    true
}

fn main() {
    let foo = Foo {f: 0, arr: array::ArrayTrait::new()};

    if<EMAIL_ADDRESS>{
      let cl = foo.clone();
    }
}

Other information:
Interesting things to note:

One can fix this issue by using check((@foo).f) rather than (@foo.f). (Thanks @enitrat ). So it's actually a syntax error, not a functional error?
Another way of fixing this is :

let snap = @foo;
if (check(snap.f) {
  let cl = foo.clone();
}

If you remove the if, it also works (but it's not the same, functionality-wise):

let b = @foo.f;
let cl = foo.clone();

this makes me think it might be related to https://github.com/starkware-libs/cairo/issues/3658

Removing the arr field of Foo removes the error. So this has to do with non-copyable elements I believe.

Fixed by #3739


docs: fix yaml code block for authorizers

Description of changes:
There was a improper closing tag for ApiAuth yaml section.
Description of how you validated changes:
Checklist:

[x] make pr passes
[x] Update documentation

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #1214 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop    #1214   +/-   ##
========================================
  Coverage    94.42%   94.42%
========================================
  Files           72       72
  Lines         3733     3733
  Branches       738      738
========================================
  Hits          3525     3525
  Misses         105      105
  Partials       103      103

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 32acf2e...0feb26d. Read the comment docs.


Streamfield migrations fail on revisions that don't have target field

Issue Summary
wagtail.blocks.migrations.migrate_operation.MigrateStreamData does not gracefully handle revisions that do not contain the field that is being operated on. This may occur when running a migration on a model that has revisions from before the creation of the field on the model. We do support limiting which revisions to operate on by date, but we should also gracefully handle this scenario (by doing nothing if the field does not exist in a given revision).
Impact
Prevents migrations from being successfully run.
Steps to Reproduce

Start a new Wagtail project
makemigrations, migrate, createsuperuser
Save a revision of the homepage
Add a "body" StreamField to the homepage
makemigrations
Create an empty migration in the home app
Add a streamfield data migration operation that operates on the newly added "body" field

# Generated by Django 4.2.16 on 2024-10-12 10:51

from django.db import migrations
from wagtail.blocks.migrations.migrate_operation import MigrateStreamData
from wagtail.blocks.migrations.operations import AlterBlockValueOperation

class Migration(migrations.Migration):

    dependencies = [
        ('home', '0003_homepage_body'),
    ]

    operations = [
        MigrateStreamData(
            "home",
            "homepage",
            "body",
            [
                (AlterBlockValueOperation("Hello world"), "text")
            ]
        )
    ]

Run the migrations

gitpod /workspace/wagtail-gitpod (main) $ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, contenttypes, home, sessions, taggit, wagtailadmin, wagtailcore, wagtaildocs, wagtailembeds, wagtailforms, wagtailimages, wagtailredirects, wagtailsearch, wagtailusers
Running migrations:
  Applying home.0003_homepage_body... OK
  Applying home.0004_auto_20241012_1051...Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/workspace/.pip-modules/lib/python3.8/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/workspace/.pip-modules/lib/python3.8/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/workspace/.pip-modules/lib/python3.8/site-packages/django/core/management/base.py", line 412, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/workspace/.pip-modules/lib/python3.8/site-packages/django/core/management/base.py", line 458, in execute
    output = self.handle(*args, **options)
  File "/workspace/.pip-modules/lib/python3.8/site-packages/django/core/management/base.py", line 106, in wrapper
    res = handle_func(*args, **kwargs)
  File "/workspace/.pip-modules/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 356, in handle
    post_migrate_state = executor.migrate(
  File "/workspace/.pip-modules/lib/python3.8/site-packages/django/db/migrations/executor.py", line 135, in migrate
    state = self._migrate_all_forwards(
  File "/workspace/.pip-modules/lib/python3.8/site-packages/django/db/migrations/executor.py", line 167, in _migrate_all_forwards
    state = self.apply_migration(
  File "/workspace/.pip-modules/lib/python3.8/site-packages/django/db/migrations/executor.py", line 252, in apply_migration
    state = migration.apply(state, schema_editor)
  File "/workspace/.pip-modules/lib/python3.8/site-packages/django/db/migrations/migration.py", line 132, in apply
    operation.database_forwards(
  File "/workspace/.pip-modules/lib/python3.8/site-packages/django/db/migrations/operations/special.py", line 193, in database_forwards
    self.code(from_state.apps, schema_editor)
  File "/workspace/.pip-modules/lib/python3.8/site-packages/wagtail/blocks/migrations/migrate_operation.py", line 159, in migrate_stream_data_forward
    raw_data = json.loads(revision.content[self.field_name])
KeyError: 'body'

https://github.com/wagtail/wagtail/blob/309e47f0ccb19dba63aaa64d52914e87eef390dc/wagtail/blocks/migrations/migrate_operation.py#L159
Technical details

Python version: 3.8.12
Django version: 4.2.16
Wagtail version: 6.2.2

web-1  | Traceback (most recent call last):
web-1  |   File "/usr/src/app/manage.py", line 22, in
web-1  |     main()
web-1  |     ~~~~^^
web-1  |   File "/usr/src/app/manage.py", line 18, in main
web-1  |     execute_from_command_line(sys.argv)
web-1  |     ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
web-1  |   File "/usr/local/lib/python3.13/site-packages/django/core/management/init.py", line 442, in execute_from_command_line
web-1  |     utility.execute()
web-1  |     ~~~~~~~~~~~~~~~^^
web-1  |   File "/usr/local/lib/python3.13/site-packages/django/core/management/init.py", line 436, in execute
web-1  |     self.fetch_command(subcommand).run_from_argv(self.argv)
web-1  |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
web-1  |   File "/usr/local/lib/python3.13/site-packages/django/core/management/base.py", line 413, in run_from_argv
web-1  |     self.execute(*args, **cmd_options)
web-1  |     ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
web-1  |   File "/usr/local/lib/python3.13/site-packages/django/core/management/base.py", line 459, in execute
web-1  |     output = self.handle(*args, **options)
web-1  |   File "/usr/local/lib/python3.13/site-packages/django/core/management/base.py", line 107, in wrapper
web-1  |     res = handle_func(*args, **kwargs)
web-1  |   File "/usr/local/lib/python3.13/site-packages/django/core/management/commands/migrate.py", line 357, in handle
web-1  |     post_migrate_state = executor.migrate(
web-1  |         targets,
web-1  |     ...<3 lines>...
web-1  |         fake_initial=fake_initial,
web-1  |     )
web-1  |   File "/usr/local/lib/python3.13/site-packages/django/db/migrations/executor.py", line 135, in migrate
web-1  |     state = self._migrate_all_forwards(
web-1  |         state, plan, full_plan, fake=fake, fake_initial=fake_initial
web-1  |     )
web-1  |   File "/usr/local/lib/python3.13/site-packages/django/db/migrations/executor.py", line 167, in _migrate_all_forwards
web-1  |     state = self.apply_migration(
web-1  |         state, migration, fake=fake, fake_initial=fake_initial
web-1  |     )
web-1  |   File "/usr/local/lib/python3.13/site-packages/django/db/migrations/executor.py", line 255, in apply_migration
web-1  |     state = migration.apply(state, schema_editor)
web-1  |   File "/usr/local/lib/python3.13/site-packages/django/db/migrations/migration.py", line 132, in apply
web-1  |     operation.database_forwards(
web-1  |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
web-1  |         self.app_label, schema_editor, old_state, project_state
web-1  |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
web-1  |     )
web-1  |     ^
web-1  |   File "/usr/local/lib/python3.13/site-packages/django/db/migrations/operations/special.py", line 196, in database_forwards
web-1  |     self.code(from_state.apps, schema_editor)
web-1  |     ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
web-1  |   File "/usr/local/lib/python3.13/site-packages/wagtail/blocks/migrations/migrate_operation.py", line 159, in migrate_stream_data_forward
web-1  |     raw_data = json.loads(revision.content[self.field_name])
web-1  |                           ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
web-1  | KeyError: 'partners'

MigrateStreamData(
            app_name="cms",
            model_name="PartnerPage",
            field_name="partners",
            operations_and_block_paths=[
                (
                    RenameStructChildrenOperation(
                        old_name="alt_text", new_name="image_description"
                    ),
                    "partners.logos_groups.item.logos.item",
                )
            ],
            # revisions_from=datetime.date(2024, 10, 16),
        ),


feat: Update dependencies

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add differential evaluation of C#, PHP SDK

CLEANUP: This PR is no longer relevant, it can be closed by an admin.


Post-storm email thanking folks for cleaning their drains

V1: Thank people and say that we had X# new adoptions as a result of the app
V2 (post user confirmation they cleaned their drain): Thank people and share how many people cleaned their drains
VN (once we have data from DPW? on how much less flooding occurred during the most recent event when compared to other similar events w/out adoptadrain): Thank people, share how many people cleaned their drains, and share how much less flooding there was and cost savings as a result.

i would actually lump this in with all pre-and post-storm emails to adopters, which will be handled by me, including: thanking, reporting back, warning of storms, asking for feedback, etc.

i'm going to close this because i know how to go into the admin site and download contact info, and i will send emails as appropriate.

:+1: that is a good workaround until something is able to be added into the project.


Overprivileged crossfeed functions

We are submitting this issue to notify you of an IAM policy analysis we conducted based on an October 2021 copy of the cisagov/crossfeed repository. We recognize that your application has continued to change since then, but wanted to share our results with you.
Analyzing backend/serverless.yml in  https://github.com/cisagov/crossfeed/tree/fedb7eb, we determined that the provider-level iamRoleStatements definition leads to over-privileged functions -- in other words, more permissions are granted to the function than are necessary to fulfill their task. By looking at the API calls that were actually being made by your application at that time, we determined that the following changes would reduce unnecessary privilege while still permitting the application to function.
Note: the following policy changes use the https://github.com/functionalone/serverless-iam-roles-per-function serverless plugin to create detailed per-function iam policies.
High level overview:
Only the api function needed lambda:Invoke, ses:sendRawEmail and s3 permissions. bastion and makeGlobalAdmin functions did not need any permissions. To the best of our knowledge, the scheduler, syncdb, and updateScanTask functions only needed ecs permissions, logs:GetLogEvents, and iam:PassRole permission for running ecs tasks.
src/api/functions.yml:
api:
  handler: src/api.handler
  events:
    - http:
        path: / # this matches the base path
        method: ANY
        cors: true
    - http:
        path: /{any+} # this matches any path, the token 'any' doesn't mean anything special
        method: ANY
        cors: true
  provisionedConcurrency: 1
  iamRoleStatements:
    - Effect: Allow
      Action:
        - lambda:InvokeAsync
        - lambda:InvokeFunction
      Resource: 'scheduler'
    - Effect: Allow
      Action:
        - ses:SendRawEmail
      Resource: '*'
    - Effect: Allow
      Action:
        - s3:GetObject
        - s3:GetObjectAcl
        - s3:PutObject
        - s3:PutObjectAcl
      Resource: '*'
    - Effect: Allow
      Action:
        - logs:GetLogEvents
      Resource: '*'
    - Effect: Allow
      Action:
        - ecs:RunTask
        - ecs:ListTasks
      Resource: '*'
    - Effect: Allow
      Action:
        - iam:PassRole
      Resource: '*'

src/tasks/function.yml:
scheduler:
  handler: src/tasks/scheduler.handler
  timeout: 300
  events:
    - schedule: rate(5 minutes)
  reservedConcurrency: 1
  memorySize: 4096
  iamRoleStatements:
    - Effect: Allow
      Action:
        - logs:GetLogEvents
      Resource: '*'
    - Effect: Allow
      Action:
        - ecs:RunTask
        - ecs:ListTasks
      Resource: '*'
    - Effect: Allow
      Action:
        - iam:PassRole
      Resource: '*'

syncdb:
  handler: src/tasks/syncdb.handler
  iamRoleStatements:
    - Effect: Allow
      Action:
        - logs:GetLogEvents
      Resource: '*'
    - Effect: Allow
      Action:
        - ecs:RunTask
        - ecs:ListTasks
      Resource: '*'
    - Effect: Allow
      Action:
        - iam:PassRole
      Resource: '*'

bastion:
  timeout: 900
  handler: src/tasks/bastion.handler

makeGlobalAdmin:
  handler: src/tasks/makeGlobalAdmin.handler

updateScanTaskStatus:
  handler: src/tasks/updateScanTaskStatus.handler
  events:
    - eventBridge:
        pattern:
          source:
            - aws.ecs
          detail-type:
            - ECS Task State Change
          detail:
            clusterArn:
              - ${file(env.yml):${self:provider.stage}-ecs-cluster, ''}
  iamRoleStatements:
    - Effect: Allow
      Action:
        - logs:GetLogEvents
      Resource: '*'
    - Effect: Allow
      Action:
        - ecs:RunTask
        - ecs:ListTasks
      Resource: '*'
    - Effect: Allow
      Action:
        - iam:PassRole
      Resource: '*'

src/tasks/function.yml:
scheduler:
  handler: src/tasks/scheduler.handler
  timeout: 300
  events:
    - schedule: rate(5 minutes)
  reservedConcurrency: 1
  memorySize: 4096
  iamRoleStatements:
    - Effect: Allow
      Action:
        - logs:GetLogEvents
      Resource: '*'
    - Effect: Allow
      Action:
        - ecs:RunTask
        - ecs:ListTasks
      Resource: '*'
    - Effect: Allow
      Action:
        - iam:PassRole
      Resource: '*'

syncdb:
  handler: src/tasks/syncdb.handler
  iamRoleStatements:
    - Effect: Allow
      Action:
        - logs:GetLogEvents
      Resource: '*'
    - Effect: Allow
      Action:
        - ecs:RunTask
        - ecs:ListTasks
      Resource: '*'
    - Effect: Allow
      Action:
        - iam:PassRole
      Resource: '*'

bastion:
  timeout: 900
  handler: src/tasks/bastion.handler

makeGlobalAdmin:
  handler: src/tasks/makeGlobalAdmin.handler

updateScanTaskStatus:
  handler: src/tasks/updateScanTaskStatus.handler
  events:
    - eventBridge:
        pattern:
          source:
            - aws.ecs
          detail-type:
            - ECS Task State Change
          detail:
            clusterArn:
              - ${file(env.yml):${self:provider.stage}-ecs-cluster, ''}
  iamRoleStatements:
    - Effect: Allow
      Action:
        - logs:GetLogEvents
      Resource: '*'
    - Effect: Allow
      Action:
        - ecs:RunTask
        - ecs:ListTasks
      Resource: '*'
    - Effect: Allow
      Action:
        - iam:PassRole
      Resource: '*'

Your IAM policy was studied as part of a research project that was conducted jointly by researchers at the North Carolina State University and the University of Illinois at Urbana-Champaign. We developed an algorithm that leveraged graph reachability analysis to inspect privilege in serverless applications. This work has been accepted to appear at the 2024 Web Conference (Paper Title: “GRASP: Hardening Serverless Applications through Graph Reachability Analysis of Security Policies”). We will be discussing the results from our 2021 analysis of your application as part of this work, but will be sure to note that the policy has been updated since then.
Since our analysis, the backend/serverless.yml has added significantly more permissions (e.g., ssm, sts, sqs, and additional logs permissions) to the provider level policy granted to all functions. If you’d like, we’d be happy to update our analysis to reflect the present state of your application. Do let us know if you have any thoughts or feedback.
Best,
Adam Bates (co-authors: Isaac Polinsky, Pubali Datta, Will Enck)

Thank you @bates151 for the thoughtful and detailed feedback.
CC @schmelz21 @rapidray12 @cduhn17 @stewartl97


Add GitHub workflow for building PRs

Add a GitHub Actions workflow which builds this project in PRs.
References:

https://github.com/marketplace/actions/gradle-wrapper-validation
https://github.com/marketplace/actions/gradle-command

Demo workflow run: https://github.com/joschi/licenser/runs/1910384127
Full workflow logs: logs.zip

While I'm thankful for the pull request - the actual issue here (pull requests not getting built) was more simply solved by enabling Travis for this repo (I must have forgot to re-enable when the repo moved).
I have been using GitHub Actions for new projects, and its nice - eventually this repository will likely get a full suite of workflows too.


SAK-32055 Site page session storage can now be controlled by property.

Hi Adrian, while this change is trivial it does have a significant effect of disabling what page the user was last on in a site. Trying to understand why someone would want this?

@ern If you are trying to build some community stuff in the site's homepage it may well be important to make sure it isn't hidden by always returning people to specific tools other than the home. Noodle/Pepperdine asked for this as not enough folk were engaging on the commons tool in the home page - they did some behavioural testing and identified that this was why. I thought it may as well go into master, still keeping the default behaviour. It's maybe an edge case, but the code is so light I thought it worth inclusion.

FYI I think hidden is exaggeration here :), however I understand that they want people to return to the sites default page vs the page the user was last on. I had only asked as this feature has been around for a very long time.

No worries with you asking - I hope I didn't come across as shirty, definitely not my intention :) Both behaviours are good behaviours.


upload finish callback

Is there any callback when upload has been finished? Basically, when I uploaded a file, i would like to show file has been uploaded. Unfortunately, the response from the server doesn't come after 5 seconds.. So we cannot use also the download progress callback.
Sample Code:

RNFetchBlob.fetch('POST', 'http://'+ SERVER_PORT +'/sfdsdf/webapi/videos', {
        //... some headers,
        'Content-Type' : 'octet-stream'
        }, [
            { name: 'file', filename: 'dsfdsfsf.mp4', data: RNFetchBlob.wrap(this.props.videoSource) },
            { name: 'title', data: this.props.title },
            { name: 'description', data: this.props.description }
        ])
        // listen to upload progress event, emit every 250ms
        .uploadProgress({ interval : 100 },(written, total) => {
            console.log('uploaded', written / total)
        })
        // listen to download progress event, every 10%
        .progress({ count : 10 }, (received, total) => {
            console.log('progress', received / total)
        })
        .then((response) => {
            console.log(response);
            // bring back the view to list
            this.props.uploadVideoSuccess();
        })
        .catch((err) => {
            console.log('error occured');
            console.log(err);
        // ...
        });

My console logs shows 99% upload done (even though file was uploaded successfully),, but is there another callback that will let me know my upload is 100%?
http://imgur.com/a/MlaUx
Below are my versions:
"react-native": "0.42.3",
"react-native-fetch-blob": "^0.10.5",

@vvavepacket , I think you should change the Content-Type to multipart/form-data if you passing an Array as the body.

@wkh, thanks. but i think content type doesnt matter since react-native-fetch-blob is intelligent enough to override the header. i tried your approach and its still the same behaviour. basically the upload is finished,, but my server side logic performs some processing and will not return response immediately (delay of 5 seconds) so is there a way to inform the code that upload is finished and we are just waiting the response?

@vvavepacket , does it trigger the function in then block?

the .then block is triggered when my server side code sends a response. For example, this is timeline
(1) 7:01:01 PM - upload started
(2) 7:01:15 PM - upload finished, server doesnt send a response yet
(3) 7:01:30 PM - server starts to send response.
Between 2 and 3, the upload counter is stuck at 99% because onProgresss is not called anymore when upload is finished (onProgress on an interval, so if the upload is finished, the next interval will not be called, and then onProgress is not called).  The then block is triggered when 3 starts

Okay, so .. in other words, the upload progress event missed last tick, right?

yes you got it right sir ;)

okay, I will look into this one.

is there any possible workaroud until the bug is fixed? :)

@wkh237  how was it? :)


Provide a method to retrieve the null segment descriptor of the GDT as SegmentSelector

This may be useful when used as a segment selector to load a non-existent segment into the data register.
e.g.
DS::set_reg(gdt.null_segment_selector())

I think this method might be useful, but it doesn't seem like it needs to be a method on our GDT. It doesn't read any data from the GDT after all.
I think an associated constant like:
pub struct SegmentSelector(pub u16);

impl SegmentSelector {
    /// Some comment explaining why we want this
    pub const NULL: Self = Self::new(0, PrivilegeLevel::Ring0);

    ...
}

would be a better idea.

@josephlr

It doesn't read any data from the GDT after all.
Correct, I was thinking the same. The reason I initially though it could make sense nonetheless was the fact that the GDT already has a null descriptor inside (which is not read - as you've noticed correctly -  because it's easier to construct it as SegmentSelector directly instead of building it from the bytes of the null descriptor)
Also the concept that the SegmentSelector knows about the index of the descriptor in the GDT led me to the idea that this might be a good idea.

But I agree that a dedicated SegmentSelector might even be a better idea. I'm going to adapt my MR. Thanks.


Migrate 'ProcessTreeKiller' from wiki

Description
I migrated the ProcessTreeKiller from Wiki to the Destination on jenkins.io: Using Jenkins -> Long-running agent processes where I created an adoc file to copy the converted Ascii format text
Fixed issue #3321
Link to PR
https://github.com/jenkins-infra/jenkins.io/pull/3364
Screenshots
Please add screenshots if relevant.
If they are already linked from the pull request, no need to duplicate

Thanks for your contribution!
@all-contributors please add @LarrySul for docs


feat: component variants

Component Variants
Current Stardust options are limited to address the following situation on the client side.
Suppose that there is one category of buttons that should appear with icon's borders being rounded, and another one - with icon's border being rectangular.
This, essentially, results in need to define two variants of Button, with icon slot being styled differently, but with all the behavioural (and accessibility) aspects of Button being preserved.
Also, we would like to ensure that these Button variants won't spawn in uncontrolled way - i.e. all of them will be registered in theme, discoverable and, in general, will match Button variants of the Design Spec.
Component Variants feature:

adjusts component's appearance, while preserving behavior aspects of original component
allows client to extend set of props of original component, in controlled way

this should be seen as an extensibility point to introduce design terms that are specific to client's domain

provides 'is a' semantics - props, behavior and accessibility of the original component (or, in general, all the scenarios of original component) will work for its variant

API
// --------------------------------
// DEFINE THEME BITS (styles)
// theme/index.ts
// --------------------------------
const theme = {
  componentStyles: { .. }
  ...
  componentVariants: {
    Input: { // <------------- which component variant defined for
      Primitive: {     // <--------------- variant name
         // 'variables' and 'styles' props are optional,
         // will be applied on top of corresponding ones of 'Input'
         variables: {
            background: transparent,
            underlineOnFocus: null
         }
         styles: {
             ....
         }
      }
    }
  }
}

// --------------------------------
// DEFINE COMPONENT FOR VARIANT
// components/index.ts
// --------------------------------
import { createVariant } from '@stardust-ui/react'

// propTypes and defaultProps are optional
export const PrimitiveInput = createVariant(Input, 'Primitive', propTypes = { }, defaultProps = { })

// --------------------------------
// USE VARIANT
// client.ts
// --------------------------------
<PrimitiveInput       // <----- all props of Input are supported
  placeholder='Your name'
  icon={..} ... />

Example:  variant with client-specific timestamp and userMention props
Lets imagine that we have Text component (with general-use props API), and we want to introduce ChatText variant which would support timestamp and userMention terms - the ones that are specific to our chat app.
Problem
Previously the options were

introduce props as part of Stardust API, which is problematic due to

client cannot rely on that
Stardust spec is not able to absorb terms that are not general enough

introduce variables to support this case, and this had resulted in awkward API and, what is more important, broken styles encapsulation on the client side:

// mix of props and variables to express the same thing
<Text important variables={{ userMention: true }} />

// textStyles.ts
const styles = {
  root: ({ ..., variables }) => ({
     /* .. MIXED list of other variants styles - BROKEN ENCAPSULATION .. */
     ...(variables.userMention && { ... })
  })
}

Solution
Now this scenario may be addressed with variants - note that styles encapsulation, semantics and design language's expressiveness is preserved in the JSX markdown
// --------------------------------
// DEFINE
// --------------------------------

// types/index.ts
type ChatTextProps = {
  userMention: boolean,
  timestamp: boolean
}

// theme/index.ts
const theme = {
  componentStyles: ...,
  componentVariants: {
    Text: {
       ChatText: {
          styles: ({ props: TextProps & ChatTextProps }) => ({
             ...(props.userMention && { /* .. userMention styles  .. */ })
             ...(props.timestamp && { /* .. timestamp styles  .. */ })
          )}
       }
    }
}

// components/index.ts
export const ChatText = createVariantOf<TextProps, ChatTextProps>(
  Text,  // of component
  'ChatText', // variant name
  { atMention: PropTypes.bool, timestamp: PropTypes.bool } // propTypes
)

// --------------------------------
// USE
// --------------------------------
<ChatText timestamp>11:03 PM</ChatText>

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

:warning:
Package (or peer) dependencies changed. Make sure you have approval before merging!

Changed dependencies in packages/react/package.json

package
before
after

hoist-non-react-statics
-
^3.3.0

  Generated by :no_entry_sign: dangerJS

Closing as this has seen no activity for awhile. Please reopen if still relevant. Thanks!


Fixes location of public administration js file

It solves the problem that the correct file is loaded in the administration area. Even if the file is not loaded correctly, paypal still seems to work.
Only affects version 6.x

This issue was not fixed with this PR, because it does not address the root of this issue but only the compiled files.
The issues will be resolved with Shopware 6.6.


Increase threshold for showing payments by default

This PR proposes to increase the threshold for transactions to be shown in the account viewer by default to 0.5 XLM (~ USD 0.20). The previous limit of 0.01 XLM (~ USD 0.004) does not seem to deter spammers and scammers (see screenshots of spam transactions made since the hiding small amounts feature had been introduced in the account viewer).
Recent transactions with spam/scam intentions

UX improvement
Previously the message that payments smaller than the threshold are hidden was always shown, regardless of if any transaction had actually been hidden for this account. With this PR the message and toggle to show all payments/hide small payments is only rendered if any payments have been hidden, so that users don't get confused when clicking this button and nothing changes in the transaction history.
Wording changes
When hiding small payments

When showing all payments

Changes added, thanks for the suggestion. Signed the CLA 👍


Redesign AppConfiguration Credential

Description
Redesigns ConfigurationClientCredentials and ConfigurationClientPolicy.

No longer creates an intermediate Map to store values included in the credential.

Works directly with the header values on the request.

No longer uses String formatting, choosing instead to use String concatenation.

Overall, this should result in better performance and a more consistent experience when generating the credential. The usage of HashMap and iterating over the entries would be generally consistent but HashMap doesn't give guarantees on iteration order. Now, the values are accessed directly in the order they should be and are accessed directly from HttpHeaders instead of the intermediate Map, meaning all work only has to be done once now as before the Map would be iterated an inserted into the HttpHeaders after Authoratizaon was generated.
Other minor changes include using a Mac instance per operation instead of a shared instance as Mac doesn't provide thread safety as most operations, and all operations we used, mutate the internal state of the object. And given that policies can be used by multiple threads simultaneously this could result in a race condition.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.

/azp run java - appconfiguration - tests

/azp run java - appconfiguration - tests


Option to use features for all plots on training and analysis tabs.

Currently, the "feature toggle" ("f") shows features in addition to input data on the training tab, but hides the live data stream. This is useful in allowing people to inspect the features for specific training samples but I think it would be good to support more general usage of features. That is, I can imagine situations in which someone wants to see features, not input data, everywhere: in the live data stream, in the visualizations of the training data samples, on the test data plots, etc. I think it would eventually be good to support this.
(Note: this would probably require us to find a different / additional way of navigating through time for training samples with more than 32 features. I'm imagining some sort of timeline like that shown on the analysis tab, although I'm not sure what data it would show. A spectrogram would be nice, if possible. Otherwise, it could just be a slider with no data shown.)

We may want to think about showing all features on the same plot, in different colors, as with the current input data.

This might be useful for #215, for instance.

This might also involve fixing #337.
For now, let's keep this simple:

for the live data view (on the analysis, training, and prediction tabs), let's show the bottom plot on the pipeline tab
for the training data view, let's keep all the interaction logic the same, and just change the UI layout. Specifically, when you toggle to feature mode, the live data plot should remain visible (although it will switch to feature mode as described in (1)) and the default training data plot (the one showing input data) should get shorter to make room for an adjoining feature plot. Let's keep the UI for navigating through and editing training samples in the same place (as the bottom of the interface).

Right now there is a divide by zero problem if there is not feature extraction modules.

There are cases that the pipeline doesn't have any feature extraction module but it does have pre-processing modules, in that case, show the last stage of pre-processing.


Feature/simple db multiple query

Pull Request Contents

♻ Refactor

✨ Feature

Description

I've modified OMOP_match so that OMOPMatcher.calculate_best_matches receives the list it was always meant to. This way, you can send a single API request, one connection is opened to the database, the queries are run, and the connection is closed.
I've changed the routes that use the database so the right format is used for OMOP queries. This doesn't work with the UI yet, but I'm keeping the PR small
Related Issues or other material

[X] This PR relates to one or more issues, detailed below

Related Issue #12
Closes #12

✅ Added/updated tests?

[X] This PR contains relevant tests

Or doesn't need to per the below explanation

Added tests in the tests folder that check multiple queries return multiple results

[X] I've completed all actions and tasks detailed in the PR Template

Hi James,
I tried to run the code and it closes the database connection as expected. But I can see, that it queries LLM directly and doesn't query the OMOP database with informal names before using the LLM.
Are you going to add this feature in this commit or should I want to add that?

Hi James,
I tried to run the code and it closes the database connection as expected. But I can see, that it queries LLM directly and doesn't query the OMOP database with informal names before using the LLM.
Are you going to add this feature in this commit or should I want to add that?

Hi Karthik,
To keep this to a single feature commit, let's add the other features separately. Did you try running the tests too? I thought it was pretty simple to set them up

Ok James, let's implement the database login here and will create a new branch to implement the query first feature and an option to choose LLM in the GUI. I saw the test as well and it's working well. Good Job James👏🏻

Ok James, let's implement the database login here and will create a new branch to implement the query first feature and an option to choose LLM in the GUI. I saw the test as well and it's working well. Good Job James👏🏻

Is there any need for me to change anything?

Is the GUI portion of the code working, James? The last time I tried running it, I encountered an error related to Streamlit.

Is the GUI portion of the code working, James? The last time I tried running it, I encountered an error related to Streamlit.

Nope, this breaks the GUI! I'll fix in another PR

Alright James, I'll approve the PR.


[No QA] perf: skip building dSYM for iOS development build

Details

Currently, when running development build, the dSYM file is generated. They are primarily used for debugging crashes in production environments. Disabling dSYM generation for development builds can reduce build times, as the process of creating these symbol files can be time-consuming and unnecessary when immediate crash reports and analytics are not required.
On my M1 Pro, it saves 7-15s per build.
Comparision:
Clean build on main: 6m 23s
Clean build without generating dSYM: 6m 9s
Cached build on main: 42s
Cached build without generating dSYM: 33s

Fixed Issues

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

Open project in XCode

Go to Product -> Perform Action -> Build with Timing Summary

Go to "Show the report navigator"

Once build is finished, filter the list for "Generate New Expensify Dev.app.dSYM"

Item with this name should not be listed

[x] Verify that no errors appear in the JS console

Offline tests

n/a
QA Steps

n/a

[x] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@shubham1206agra the simplest way is running time npm run ios. Another is using Xcode (steps are described above in the PR)

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


Crud actions

We now have all create and read actions set up for art_labels and reviews with corresponding feature tests.

Nice work!


PF-498 Initial testing infrastructure

(Related write-up of initial testing approach is here.)

Wrote utilities for running two types of tests:

Unit tests call commands directly in Java. They run against source code; no CLI installation is required.
Integration tests call commands from a bash script run in a separate process. They run against a CLI installation, either one built directly from source code via ./gradlew install or one built from the latest GitHub release.

Both types of tests use the same code to authenticate a test user without requiring browser interaction.

Added the Gradle runTestsWithTag task, which handles both test types.

Made some minor changes to the CLI application (i.e. non-test) code to accommodate the tests. For example, made some command return classes public so tests can de-serialize stdout when the --format=json option is specified.

Included example unit tests for the terra auth status command, and an example integration test that runs the Nextflow rnaseq demo

Added an on-PR GitHub action that runs the linter and static analysis. This will be expanded to also run tests in a follow-on PR.

Not for now, but in the future if we do gravitate towards a model where users prefer to install non-Terra tools on the host (per discussions in last week's PR's), we might revisit this to try to run all of the integration tests in Docker containers to avoid users getting their environments crossed up with multiple installations (though given these will only be run by developers, that's probably not a huge concern).

Yeah this is a tough one to speculate about until we get some more user feedback.

On the one hand, as a coder, it seems reasonable to me that users want to control their environment, run everything locally and not mess around with Docker. In that case, agreed that running the tests in a container could be a reproducible way to test that.
On the other hand, if there are so many tools that it's cumbersome to install everything locally or untangle version dependencies, that seems like it fits the projected use case of running tool commands in a container. In that case, we wouldn't need to run the tests in a container.
I'll be very interested to see what users think of this once we get some more feedback.


Only include the first line of changes in the changelog

Below is the proposed changelog for octocrab 0.21.0, as you can see there's a lot of extraneous information such as the Co-Authored-By header in the changelog because it's including the full commit message rather than just the first line, it would be nice if by default it did not do that.

Oops, I think this is due to a recent change, I will fix this and release a new version between today and tomorrow 👍
It should show only the commit title, right?

It should show only the commit title, right?

I think so, at least that should be the default in my opinion.
Thank you for working on this great project! 🙏

This is fixed in main, but I encountered this problem when releasing, so the github action is not fixed yet.
In the meantime, please manually edit the changelog of the release-pr before merging.

Thank you for working on this great project! 🙏

Thanks! I used octocrab in many occasions, so I'm happy I can give back :)

This is fixed in the action version v0.5.2 👍


in UICollectionView case has kind of white flash

@ydj I do not know why has kind of white flash when refresh UICollectionView

Using the latest version，set complete animation to NO
e.g.
....
[_refresh finishRefreshingDirection:direction animation:NO]
...


'init' and 'fina' features

I just wanted to document this issue with those positional features and how users expect them to behave.
It's my understanding those features are, per spec, applied to all characters, and as such rendered in the font tester widget when set to be applied (i.e. this is how browsers seem to handle it). However, many apps (Adobe CC, Glyphs) seem to actually do additional layout level substitutions to only apply those features at word boundaries. This creates a dissonance between what users see when activating the feature in the tester (all characters of a word are swapped) to what users might expect from other text apps).
One hack could be using the ::first-letter pseudo selector, but there does not seem to be a last letter equivalent. Other options would be nested spans that dis/en-able the feature only at word boundaries, but this seems to go to quite intricate levels and add unwieldy complexity to the font tester widget.

It seems to me the browsers should be fixed if they are doing something wrong. The fact that Arabic script seems to work well though leaves me with the impression that either Adobe/Glyphs do something wrong or that we use the features the wrong way.
Also note that the features function is tied to their Unicode joining types:

This applies to characters that have one of the following Unicode Joining_Type property values:

Right_Joining, if the characters are from a left-to-right script.
Left_Joining, if the characters are from a right-to-left script.
Dual_Joining.

from (https://docs.microsoft.com/en-us/typography/opentype/spec/features_fj#a-nameinit-idinitatag-init)
And finally, if we hack something, we leave the impression that the fonts work this way in the browsers, which they don't. A hack like this is IMHO rather harmful because it masks how the thing really works.

Agree. I merely wanted to point this out since I've gotten this reported as a "bug" twice. Some font designers go about it with calt features, which imo is the more appropriate way, it's just that some users have been confused by this.


EDGCONX-1 initial readme editorconfig and test

There are no RAMLs for this project as it does not support HTTP. Should I modify Jenkinsfile?

Temporarily disabled the Jenkinsfile. As explained in the doc linked from FOLIO-2995 the code needs to be in place first, then commit the Jenkinsfile directly to mainline branch.
Other "edge" modules have Dockerfile. Is that needed here?

Good question. I'll find out later.

Thx for taking a look @julianladisch


lack the source code of libweexcore.so

Thanks for the awesome work first.
I notice that the source code of libweexcore.so ( in android/sdk/libs ) can't be find in this repo. Will you upload related source code soon?

We has plan to update

libweexcore.so consists of almost v8 code, so you can get source code from https://github.com/v8/v8 .

Thanks for help. Could you kindly help to provide an armeabi-v7a version of libweexcore.so? armeabi version do not have hard float support.

@sospartan

Thanks for help. Could you kindly help to provide an armeabi-v7a version of libweexcore.so? armeabi version do not have hard float support.


Host example web app to test in production

We need to host example-webapp so that anyone can test the extension in production.
1- host webapp online
2- provide a link to latest distribution of extension

Hosted Web App Link (From forked repo): https://signify-browser-extension.vercel.app/
Run extension locally

clone this repo
Follow this link to know how to run extension locally in chrome

NOTE: this issue is not closed as the original repo is not deployed yet.

It's good enough for all the information to be in the weboftrust repo, but no need to have that repo actually host the vercal app. As long as @HunnySajid fork can provide a stable url that people can try, that could just be linked to the dev guide so that people can try it.

closing as https://github.com/WebOfTrust/signify-browser-extension/pull/100 is merged


PA 1 Compile error

what does this mean?
it means the nutri class cannot have other method?
or it means that because sth like
Pair pair = new pair(name, mg) where for mg the compile type is int?

You definitely can have other methods in nutri class. From google:
"In my experience, this warning can often be caused by using something like an ArrayList without specifying the type which it should expect to hold (i.e. using ArrayList a = new ArrayList() rather than ArrayList a = new ArrayList()). The compiler is, in my example case, warning you that your code isn't going to do any checking for you that the values you add to it are any particular type. In a production application, it would likely be good to specify types, but in a test app, you're free to ignore the warnings if you're not concerned about them."
Instead of this:
Pair pair = new pair(name, mg)
I think it should be this instead:
Pair<String,Integer> pair = new Pair<String,Integer>(name,mg)
or whatever types you are using in your Pair. check your ImList declarations too.

I think you missed out type parameterization for pair... new Pair<String, Integer>(name, mg)

Prof Henry comment should be correct. I also had unsafe warning but i fixed after i type parameterise my Pair

yes I got it thank you!

you can compile your Java files in the terminal with the additional flag -Xlint to see the exact error
javac *.java -Xlint


Putting notes behind characters

Describe your problem here.
So I figured out how to change individual note sizes, but now I can't figure out how to put the notes & strikeline behind the characters. I do know how to put them in camGame (translation: i stole the gamebreaker script lol), but I've had no luck getting them fully into the background. Anyone know how I can get that done?
Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

and figured it out myself again, i gotta start waiting more before posting these lol

I've also been wondering this, how did you do it?

man i wish i remembered lol, apparently i never ended up using it and i need it again but i can't figure out how again


Missing Export for Pinecone DB

Seems like an export is missing to use Pinecone DB
ts-node src/ai
Error: Package subpath './dist/vectorDb/pinecone-db' is not defined by "exports" in /

Same with cache
Error: Package subpath './dist/cache/lmdb-cache' is not defined by "exports"

Code
    const ragApplication = await new RAGApplicationBuilder()
      .setModel(new HuggingFace({ modelName: 'mistralai/Mixtral-8x7B-v0.1' }))
      .setVectorDb(new PineconeDb({
        projectName: 'test',
        namespace: 'dev',
        indexSpec: {
          pod: {
            podType: 'p1.x1',
            environment: 'us-east1-gcp',
          },
        },
      }))
      .setCache(new LmdbCache({ path: path.resolve('./cache') }))

      .addLoader(new SitemapLoader({ url: 'https://tesla-info.com/sitemap.xml' }))
      .setTemperature(0.01)
      .setSearchResultCount(100)
      .build();

The imports are structured like this (auto imported)
import { HuggingFace, RAGApplicationBuilder, SitemapLoader } from '@llm-tools/embedjs';

import { PineconeDb } from '@llm-tools/embedjs/dist/vectorDb/pinecone-db';
import { LmdbCache } from '@llm-tools/embedjs/dist/cache/lmdb-cache'

Partial Package.json
  "dependencies": {
    "@llm-tools/embedjs": "^0.0.67",
    "@mistralai/mistralai": "^0.1.3",
    "@pinecone-database/pinecone": "^2.2.0",

Let me know if you need more information to reproduce!

Resolved by looking at the exports in package.json and altering the import. That being said, Typescript won't accept the import so I need to @ts-ignore it
// @ts-ignore
import { PineconeDb } from '@llm-tools/embedjs/vectorDb/pinecone';
// @ts-ignore
import { LmdbCache } from '@llm-tools/embedjs/cache/lmdb'

Otherwise I get
TS2307: Cannot find module @llm-tools/embedjs/cache/lmdb or its corresponding type declarations.

This should not be the case. Look at the same project written in TS -
EmbedJS Slack Bot
I have updated the documentation to make it cleat what the import paths should be. For your TS error, could you share with me your tsconfig.json file and node version?

Thanks for updating the documentation! Will definitely help others with future debugging if needed.
It's worth noting i'm in a monorepo so there might be an issue with that?
Heres my tsconfig (just using one from another project, so nothing really intentionally configured)
{
  "compilerOptions": {
    "module": "commonjs",
    "rootDir": ".",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "target": "es2020",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "skipLibCheck": true,
    "strictNullChecks": false,
    "noImplicitAny": false,
    "strictBindCallApply": false,
    "forceConsistentCasingInFileNames": false,
    "noFallthroughCasesInSwitch": false,
    "allowJs": true
  },
  "include": [
    "src/**/*",
    "libs/**/*"
  ],
  "exclude": ["node_modules"]
}

Node Version: 20.12.0

Thanks for sharing the tsconfig. Did this ever work for you since then? I haven't tested the library with monorepos yet but I suppose I can take a look - but it will take a bit.

I am closing this issue for now, feel free to reopen it if issue persists. I am planning to move the library itself to a monorepo setup in some time, this should make things easier I suppose.


Fix code scanning alert - Privacy Violation

Tracking issue for:

[x] https://github.com/manikanta-suru/PythonGoat_v2.0.1/security/code-scanning/17

fixed


Running variables.tf gives below error. please help

Below is the apigee_instances code and running it gives below error:
from variables.tf:
variable "apigee_instances" {
description = "Apigee Instances (only one instance for EVAL)."
type = map(object({
region       = string
ip_range     = string
environments = list(string)
}))
default = {
region = "us-central1"
ip_range = "10.x.x.x/24"
environments = [ "terraform-env1" ]
}
}
error:
Error: Invalid default value for variable
│
│   on variables.tf line 86, in variable "apigee_instances":
│   86:   default = {
│   87:         region = "us-central1"
│   88:         ip_range = "10.x.x.x/24"
│   89:         environments = [ "terraform-env1" ]
│   90:   }
│
│ This default value is not compatible with the variable's type constraint: element "region": object required.
╵

@URBPG Can you please provide details on the module where you encountered this issue?


Ensure that we force refresh the CPS active project configuration whe…

…n TargetFrameworks is updated.
This change adds this functionality to the LanguageServiceHost itself. #614 tracks moving this and related functionality into a separate service.

Tagging @srivatsn @natidea @dotnet/project-system for review

@dotnet-bot test this please

@dotnet-bot retest this please


Fix truncation of paths for finder provider

Fixes: #24
See the commit message for the details.

Btw: @glepnir do you use Windows?

Btw: @glepnir do you use Windows?

I don't use windows.

I don't use windows.

I don't use windows.

Ah okay. Was just a wild guess why you might not observed this issue yourself. Because of the backslashes in Windows paths. :shrug:
Thanks for accepting the PR. :hugging:

I don't use windows.

Ah okay. Was just a wild guess why you might not observed this issue yourself. Because of the backslashes in Windows paths. :shrug:
Thanks for accepting the PR. :hugging:

There has a problem that if filepath does not match root_dir or home dir it will got nil so i add a patch for this

There has a problem that if filepath does not match root_dir or home dir it will got nil so i add a patch for this

Yes makes sense to add this case. :+1:

Yes makes sense to add this case. :+1:


Add @latest to all npx commands

Ensures the user always gets the latest version of the example scripts. By default npx might use an old version that's cached.

👍


Help diagnose package.json not picked up

I have a VS project on 0.0.9. The file structure is \source\solutiondir\projectdir and the projectdir has both the client and API, as well as a package.json
My goal is to set 'build' properties as per https://github.com/electron-userland/electron-builder
In particular, I need to add a license file to be distributed with the project (using the extraFiles property)
I tried
  "build": {
    "artifactName": "beer.exe",

That wasn't picked up either
I ran procmon and I can see that package.json is being read.
I think I am on the wrong track here. What is the expected behaviour?
Thanks, Martin

I think this is still on the ToDo list :-/ When I remember correctly we only invoke the electron builder via the command line and unfortunatly don't support the build file, See this line in the CLI project: https://github.com/ElectronNET/Electron.NET/blob/master/ElectronNET.CLI/Commands/BuildCommand.cs#L135

Thanks for the quick reply. I tried a CopyFile msbuild task, however it seems it clears out any existing files in the target folder, so that won't work. Finally, added a step on bamboo to add my license file


How can I log GORM errors to Sentry?

Your Question
How can I log GORM errors to Sentry?
The code in finisher_api.go explicitly overrides any configured logger.  So I can't use my own logger to pass any errors to Sentry.
Is there another way?
https://github.com/go-gorm/gorm/issues/4986 was opened for this last year, but closed as it didn't have a repro.
The document you expected this should be explained
https://gorm.io/docs/logger.html#content-inner
Expected answer
An explanation of how to log errors to a different location.

but we still pass the error to the configured logger?
https://github.com/go-gorm/gorm/blob/eae73624ad43384d34ee0c9f85055b1fe48434b1/finisher_api.go#L470


Add ability to select which columns to display

We need to allow users to selectively show/hide columns in the pages with tables. The minimal requirement is for traces/spans/sessions tables.
One UX we could create is a dialog with a checklist of enabled columns, somewhat similar to what you can find in many AWS interfaces.

(We won't need search though, we don't have that many columns).
Requirements and pointers:

The preference must be stored in localStorage.
The component must be in components/ui

Similar components are DatatableFilter and TextSearchFilter. The difference is that their source of truth is URL search params, whereas here we look for local storage.

Quite obviously, the component must be reusable, i.e. no reliance on hard-coded column names and/or definitions

Hello, can I work on this?

@shravya-chepa absolutely, go for it!

@shravya-chepa just letting you know, we've updated the contributing guidelines with a new docker compose setup for people who only change frontend code. This should make the experience vastly easier. Refer to CONTRIBUTING.

Got it, thank you!

Hey @shravya-chepa Are you working on this?

Hey, yes

@shravya-chepa that great, do you have a draft pr by any chance? Mb you can work together on it if you are busy?

I wasn't able to recreate a trace from a sample web application and got stuck. On second thought, I think @sarthakvijayvargiya should work on this. I might not be able to continue working on this. Sorry.


Update utils.py

Fix the error when inference with some MODEL such as OVD COCO baseline model

Fix the error when inference with some MODEL such as OVD COCO baseline model

Hi, thank you for your improved version. But I met a problem, it shows "Linear" object has no attribute 'norm_weight' when I run demo.py and call reset_cls_test, do you have any idea for me to fix that? Thanks a lot!

Fix the error when inference with some MODEL such as OVD COCO baseline model

Hi, thank you for your improved version. But I met a problem, it shows "Linear" object has no attribute 'norm_weight' when I run demo.py and call reset_cls_test, do you have any idea for me to fix that? Thanks a lot!

I just replace model.roi_heads.box_predictor[0].cls_score.norm_weight with True simply, because that NORM_WEIGHT was defined as True in file named with config.py.


plan for onboarding liaisons to managing roster on airtable

[ ] evaluate login options and write up instructions
[ ] perhaps make a 'how to sign up for airtable' video?
[ ] invite liaisons to review and update their info
[ ] consider a working session for people to come check it out/give it a try

it's working out well for me and the open data team leaders to update the roster as needed. no need to mess with this for now!


Update version

This PR aims at removing the limitations on the package versions that were set.
With this PR, LayeredLayouts works with the new versions of JuMP

Codecov Report

Merging #25 (0283d12) into main (6580041) will decrease coverage by 2.22%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #25      +/-   ##
==========================================
- Coverage   92.39%   90.16%   -2.23%
==========================================
  Files           4        4
  Lines         184      183       -1
==========================================
- Hits          170      165       -5
- Misses         14       18       +4

Impacted Files
Coverage Δ

src/zarate.jl
87.39% <ø> (-3.44%)
:arrow_down:

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 6580041...0283d12. Read the comment docs.