Documentation / Quickstart / Debugger - how to activate

When following the quickstart, specifically:
https://github.com/mitsuhiko/flask/search?utf8=✓&q=++Screenshot+of+the+debugger+in+action
I found myself jumping to google to learn how to activate the debugger. Perhaps if the screen grab showed & highlighted the console icon on the far left of my screen, that wouldn't have happened.
I'm happy to submit a pull request with a replacement screenshot if you agree this would be useful, noting I'm not on mac, so screen grab might look out of place, if that detail is considered important

There are instructions on how to use the debugger below the traceback at the bottom of the page.

The debugger caught an exception in your WSGI application. You can now look at the traceback which led to the error.
To switch between the interactive traceback and the plaintext one, you can click on the "Traceback" headline. From the text traceback you can also create a paste of it. For code execution mouse-over the frame you want to debug and click on the console icon on the right side.
You can execute arbitrary Python code in the stack frames and there are some extra helpers available for introspection:

dump() shows all variables in the frame
dump(obj) dumps all that's known about the object

The debugger is part of Werkzeug, and some more instruction is located in those doc.  The Flask docs could either link there or mention it as well.

+1 on linking to Werkzeug, as I don't see the point of repeating that info in Flask beyond what's already in there that @CrimsonRay mentioned. Probably best to link to the dev version of Werkzeug docs rather than pinning to a specific release.


Fix broken contributing guide links

Link to the old GeoCAT contrib guide is broken in installation section of docs and contributing.md

Closed with #549.


fix(KAR-26): add gitleaks scanning

We hope to have upstream contributions from developers outside Red Hat. So while I will add instructions for setting up open source gitleaks checking to the contributing guide, we need extra protection. So, I added a schedule to ensure that gitleaks runs against the repository regularly. For now, once a week should be sufficient. We can alter the schedule once the pace of development increases.

As Adam mentioned, we hope to have upstream contributions from developers outside Red Hat. So while I will add instructions for setting up open source gitleaks checking to the contributing guide, we need extra protection. So, I added a schedule to ensure that gitleaks runs against the repository regularly. For now, once a week should be sufficient. We can alter the schedule once the pace of development increases.


Bug: OpenPGP data not found

Current Behaviour

After adding nodes to a k8s cluster, in the kube-eleven microservice the following error occurs occasionally:
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key\n+ sudo gpg --dearmor --yes -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg\ncurl: (22) The requested URL returned error: 403\ngpg: no valid OpenPGP data found.\n"

Expected Behaviour

Claudie should handle this kinds of errors and ideally make a check in the ansibler microservice when the infrastructure after the infrastructure is created in terraformer.
Steps To Reproduce
Cannot be reproduced deterministically

Closing this issue as this was actually cause by a blacklisted hetzner IP and is already solved by claudie using the proxy
      installationProxy:
        mode: "on"


Traefik serves default cert when restarting the container

When I manually restart the container with docker restart traefik-cont-name and go to my webpage again it is now served with Traefik's default certificate. How can I prevent this?
I made sure everything is correctly placed in the container through docker exec -it src-api-traefik /bin/ash and looked into every file. All seems fine.
/etc/traefik/traefik.yaml:
#
# Providers
#

providers:
  docker:
    exposedByDefault: false
    network: public
    watch: true
  file:
    filename: "/etc/traefik/dynamic-conf.yaml"
    watch: true

#
# Entrypoints
#

entryPoints:
  web:
    address: ":80"
  web-secure:
    address: ":443"

#
# Traefik API
#
api:
  insecure: true
  dashboard: true

#
# Logs
#
log:
  filePath: "/var/log/traefik/traefik.log"

accessLog:
  filePath: "/var/log/traefik/access.log"

Modified version of /etc/traefik/dynamic_conf.yaml:
http:
  routers:
    srv-router-http:
      entryPoints:
        - web
      middlewares:
        - redirect_https
      rule: "Host(`hostname.lcl`)"
      service: src-chat

    srv-router-https:
      entryPoints:
        - web-secure
      middlewares:
        - srv_headers
      rule: "Host(`hostname.lcl`)"
      service: srv-chat
      tls: {}

  middlewares:
    redirect_https:
      redirectScheme:
        scheme: https
    srv_headers:
      headers:
        accessControlAllowOrigin:
          - https://localhost:8100

  services:
    srv-chat:
      loadBalancer:
        servers:
          - url: http://docker-network-alias:port
        healthCheck:
          path: /health
          interval: "10s"
          timeout: "3s"

tls:
  options:
    default:
      sniStrict: true
      minVersion: VersionTLS12
  stores:
    default:
      defaultCertificate:
        certFile: /etc/certs/server.crt
        keyFile: /etc/certs/server.key
  certificates:
    - certFile: /etc/certs/server.crt
      keyFile: /etc/certs/server.key

Dockerfile:
FROM traefik:latest

COPY ./config/ /etc/traefik/
COPY ./certs/ /etc/certs/

Modified version of docker-compose.yml:
version: "3.7"

#
# [ services ]
#
services:
  traefik:
    image: "srv-api:traefik"
    build:
      context: ./docker/traefik
    container_name: srv-api-traefik
    volumes:
      - type: bind
        source: ./docker/traefik/config
        target: /etc/traefik/
      - type: bind
        source: ./docker/traefik/certs
        target: /etc/certs
      - type: bind
        read_only: true
        source: /var/run/docker.sock
        target: /var/run/docker.sock
      - type: bind
        consistency: consistent
        source: ./logs/traefik
        target: /var/log/traefik
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080"
    networks:
      private:
      public:
        aliases:
          - traefik

#
# [ networks ]
#
networks:
  public:
    driver: bridge
  private:
    driver: bridge

Hello,
It's not the good place for this issue.

https://community.containo.us/
https://github.com/containous/traefik

@muuvmuuv did you manage to solve this?

Have not looked at it again. Will create a new one on traefik directly next time i see this


Documentation for Typescript users.

Solution: npm install @types/whatwg-fetch --save-dev
I searched for a solution to add typings for this library, but didn't find any solution.
Then in desperation I just tried npm install @types/whatwg-fetch --save-dev and it worked.
Since all the old TypeScript issues is closed without solution, I thought to mention it in case others are struggling with the same thing.

What is the @types scope?

The repository for high quality TypeScript type definitions. You can read more about it here.

Ah I see: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/whatwg-fetch/whatwg-fetch.d.ts
And how does @types/whatwg-fetch get discovered within your node_modules/ directory? Does TypeScript do that discovery by default?
I guess what I'm asking is whether your experience is reproducible for other people having different projects and different build chains.

It works for TypeScript > 2.0,  older versions can usetypings install dt~whatwg-fetch --global --save

Thanks for the info.
@dgraham do you think we could add a note about TypeScript definitions to the Readme?

The TypeScript community has documented this command. I don't think each upstream library needs to document it too, considering the workflow could change over time.

I agree, I was confused by the closed issues without solutions. When Typescript 2 becomes standard it will no longer be a issue anyway.


fix: make favicon transparent

Description
Made the favicon transparent to avoid issues with dark mode.
Type of change
Please delete options that are not relevant.

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

Checklist:

[x] My code follows the style and structure of this project
[x] My code follows the principles of clean code
[x] My changes generate no new warnings, bugs or errors

Preview:

This PR is related to #38.

Thanks! :D


Optimize images in features page

Optimize images in features page , reference #176

@abhijeet007rocks8 @DhairyaBahl i would like to work on this


chore(spdk): spdk revision changed to use ordered snapshot removal

Now the latest changes in SPDK are used to support proper order of lvol removals.

bors try

bors try

bors try

bors try

bors merge


Control Points

Hello! Thanks for the great project. My question is how to get the resultant control points after training? I want to visualize them on the canonical space.

Hi,
Thanks for your interest!

You can visualize the control points by clicking the node button on the control panel when using the GUI window.

You can also refer to the definition of control points (in the canonical space) at https://github.com/yihua7/SC-GS/blob/26cd57d09598b2f5d951029808a5ac9f0ff4f626/utils/time_utils.py#L806 and export them as point cloud by writing some codes (e.g import trimesh;trimesh.Trimesh(verts=nodes[..., :3].detach().cpu().numpy()).export('control_points.ply')). Please remember to load the checkpoint before doing that. : )


Metrics

Summary of changes
Changes introduced in this pull request:

Adds the initial set of metrics for forest

Reference issue to close (if applicable)
Closes #1097
Other information and links

Nice! This looks like it measures block time and a few other things. How would you recommend I run it?

Okay, and this works without prometheus running, correct?

@cryptoquick that's correct

Also, you're missing the following metric as defined in the issue ACs:

Gauge of RocksDB size on disk

Maybe try measuring this after every flush:
https://doc.rust-lang.org/std/os/unix/fs/trait.MetadataExt.html#tymethod.size

@cryptoquick I didn't realize that moving this from draft to open would auto request review, that's my bad. I still have much to do, including the items you mentioned.  I don't see a button that will move this from open -> draft again.

Oh, gotcha! Be sure to let us know when it's RFR. Also LMK if you think I could help in some way!

i know this isnt R4R yet, but you've incorrectly grouped Libp2p metrics (eg HELLO_REQUEST)  as Gossip metrics.

It LGTM. Im just setting up Docker on BigChungus right now to see this in live action

Looks great! The only thing I felt is if Metrics could be global so we wouldn't have to pass it around everywhere. Alternatively, it could be a trait with default methods, which structs could then implement.
I tried running docker compose on aws machine but it fails. Posted in detail on slack.

This was an issue with the docker installation on Rahul's machine. I've updated the documentation to make installation easier.


Explain:  Instantiate() method instead

GDExtension: GDMP

If possible, provide example in redme.md

var cameraHelper = new  MediaPipeCameraHelper()

var cameraHelper = MediaPipeCameraHelper.Instantiate();

Second method, result in auto generated csharp file error, VS2022 will not compile
public partial class MediaPipeCameraHelper : RefCounted
{
    public static readonly StringName GDExtensionName = "MediaPipeCameraHelper";

    [Obsolete("Wrapper classes cannot be constructed with Ctor (it only instantiate the underlying RefCounted), please use the Instantiate() method instead.")]
    protected MediaPipeCameraHelper() { }

    /// <summary>
    /// Creates an instance of the GDExtension <see cref="MediaPipeCameraHelper"/> type, and attaches the wrapper script to it.
    /// </summary>
    /// <returns>The wrapper instance linked to the underlying GDExtension type.</returns>
    public static MediaPipeCameraHelper Instantiate()
    {
        return GDExtensionHelper.Instantiate<MediaPipeCameraHelper>(GDExtensionName);
    }

    /// <summary>
    /// Try to cast the script on the supplied <paramref name="godotObject"/> to the <see cref="MediaPipeCameraHelper"/> wrapper type,
    /// if no script has attached to the type, or the script attached to the type does not inherit the <see cref="MediaPipeCameraHelper"/> wrapper type,
    /// a new instance of the <see cref="MediaPipeCameraHelper"/> wrapper script will get attaches to the <paramref name="godotObject"/>.
    /// </summary>
    /// <remarks>The developer should only supply the <paramref name="godotObject"/> that represents the correct underlying GDExtension type.</remarks>
    /// <param name="godotObject">The <paramref name="godotObject"/> that represents the correct underlying GDExtension type.</param>
    /// <returns>The existing or a new instance of the <see cref="MediaPipeCameraHelper"/> wrapper script attached to the supplied <paramref name="godotObject"/>.</returns>
    public static MediaPipeCameraHelper Bind(GodotObject godotObject)
    {
        return GDExtensionHelper.Bind<MediaPipeCameraHelper>(godotObject);
    }

The readme file is outdated and will get an update later.

Second method, result in auto generated csharp file error, VS2022 will not compile
I'm unable to understand this part, please elaborate.


Unable to edit form content inside slide when "swipe": false (in touch devices)

Hi,
When Swipe: false settings is enabled carousel slide is freezes as expected but the content inside is becoming non editable in touch devices. We have form elements inside slide.
Replicated the issue here. https://jsfiddle.net/7074a4qo/2/
Note: Enable mobile debugging in dev tools

Try to enter text in input, its not accepting.
Even swipe is false dot and next/prev buttons working.
(ideally its seems correct but in generally one would like to stop sliding in all scenarios when swipe is false)

Actually exiting template is not working old react reference. Please update.

Similar issues have been fixed in previous releases, please try the latest version. If the issue still persists for you, please create a codesandbox demo and reopen it.


fix for MDXProvider/TOC, and bump mdx version to 2.0.0-rc2

fix MDXProvider
fix TOC
bump @mdx-js/react and @mdx-js/loader

ref: https://github.com/mdx-js/mdx/issues/1831

Thank you so much for this, I’ll take a look tomorrow!

thanks for making this great tool! :D

@kanadgupta for sure, just updated

Thank you so much @ChinW @kanadgupta!

thanks @shuding again! just for check, seems the npm version hasn't been updated


Feat/add pub struct cap warning

Closes #16
Description

Warn about potential Capability leak via public struct fields.
Example:
pub contract MyContract {

		   pub struct ContractData {
		       pub var owner: Capability
		       // ....
		   }

		   pub var contractData: ContractData
		}

[x] Targeted PR against master branch
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[x] Code follows the standards mentioned here
[ ] Updated relevant documentation
[x] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

Yes, will do. Thanks

closing due to merge with #176


[Event Request] Table 38 - Purchase Header - OnBeforeValidatePaymentDiscountPercent

Dear ALAppExtensions team,
through this issue we would like to request adding event publisher OnBeforeValidatePaymentDiscountPercent in Table 38 Purchase Header with the following signature:
[IntegrationEvent(false, false)]
local procedure OnBeforeValidatePaymentDiscountPercent(var PurchaseHeader: Record "Purchase Header"; CurrFieldNo: Integer; var IsHandled: Boolean)
begin
end;

which would be called as follows in the OnValidate trigger of field 25 - Payment Discount %:
trigger OnValidate()
// >>>> New >>>>>>>>>>>>>>>>
var
    IsHandled: Boolean;
// <<<< New <<<<<<<<<<<<<<<<
begin
    // >>>> New >>>>>>>>>>>>>>>>
    IsHandled := false;
    OnBeforeValidatePaymentDiscountPercent(Rec, CurrFieldNo, IsHandled);
    if IsHandled then
        exit;
    // <<<< New <<<<<<<<<<<<<<<<
    if not (CurrFieldNo in [0, FieldNo("Posting Date"), FieldNo("Document Date")]) then
        TestStatusOpen();
    GLSetup.Get();
    if "Payment Discount %" < GLSetup."VAT Tolerance %" then
        "VAT Base Discount %" := "Payment Discount %"
    else
        "VAT Base Discount %" := GLSetup."VAT Tolerance %";
    Validate("VAT Base Discount %");
end;

Thanks in advance!

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 47054.


"Make build" does not complete and gets stuck when building services/ssh Docker image

Describe the bug
"Make build" does not complete and gets stuck when building services/ssh Docker image
To Reproduce
Steps to reproduce the behavior:

git clone https://github.com/amazeeio/lagoon.git
make build
build does not complete because Ubuntu tzdata module prompts for user input for TZ selection when being installed. With docker build --quiet arg, this is never displayed and build never completes.

Expected behavior
Build to complete all image builds and going back to OS shell command prompt
Screenshots
see attached
Additional context
n/a

I got the same issue, good catch! thanks for the PR :tada:

This was closed in the PR above.


Use ConcurrentHashMap for batching tasks per executor in TaskBatcher …

Description
Master tasks execution is based on batchingKey. This is stored in a HashMap and every time there is a task to be enqueued, we take a lock on whole code block where map is being used. This is an optimization to use ConcurrentHashMap and improve the overall enqueue time. This will help when master is overloaded with pending tasks. Using synchronized block on LinkedHashSet operations as it's not concurrent naturally and we're removing synchronized block on overall map.
As we know that execution time would still be same for this unit test, enqueuing time has improved more than 43%.
Final comparison based on load run
After changing to CHM and using synchronized block on all LHS operations, we’re able to see tasks are being enqueued and executed faster than before.

Approach
Threads & Tasks
Avg time taken in enqueue & execution of all tasks (seconds)
Comments

Current production
5K & 2.5K
309

Concurrent HashMap without SynchronizedSet
5K & 2.5K
177

Concurrent HashMap with SynchronizedSet
5K & 2.5K
161

Current production
2K & 5K
392

Concurrent HashMap without SynchronizedSet
2K & 5K
103

Concurrent HashMap with SynchronizedSet
2K & 5K
N/A
Tests timed out due to CyclicBarrier wait

Load setup
Ran https://github.com/opensearch-project/OpenSearch/blob/082f0594582116713355ae00fe5ad001774a511d/server/src/test/java/org/opensearch/cluster/service/TaskBatcherTests.java#L214 7-8 times with 5000 executors and 2500 tasks per executor. So in short, there were 5000 entries in CHM and 2500 entries in each key’s value(LHS).
In the second run switched executors to 2000 and tasks to 5000.
Issues Resolved

https://github.com/opensearch-project/OpenSearch/issues/5099

Check List

[x] New functionality includes testing.

[x] All tests pass

[x] New functionality has been documented.

[x] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Random failure issue already opened https://github.com/opensearch-project/OpenSearch/issues/5766

Gradle Check (Jenkins) Run Completed with:

RESULT: FAILURE ❌
URL: https://build.ci.opensearch.org/job/gradle-check/9286/
CommitID: e8dde1e
Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green.
Is the failure a flaky test unrelated to your change?

SimpleBlocksIT - https://github.com/opensearch-project/OpenSearch/issues/2472
IndexingIT, RecoveryIT - https://github.com/opensearch-project/OpenSearch/issues/5766
SegmentReplication - https://github.com/opensearch-project/OpenSearch/issues/5669
BulkProcessorRetryIT - https://github.com/opensearch-project/OpenSearch/issues/5830

Codecov Report

Merging #5827 (ad1e12e) into main (fb78f11) will increase coverage by 0.02%.
The diff coverage is 43.44%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #5827      +/-   ##
============================================
+ Coverage     70.81%   70.84%   +0.02%
- Complexity    58686    58822     +136
============================================
  Files          4768     4775       +7
  Lines        280575   280988     +413
  Branches      40514    40588      +74
============================================
+ Hits         198685   199053     +368
+ Misses        65636    65629       -7
- Partials      16254    16306      +52

Impacted Files
Coverage Δ

...a/org/opensearch/gradle/test/DistroTestPlugin.java
0.00% <ø> (ø)

...opensearch/client/slm/SnapshotLifecyclePolicy.java
0.00% <0.00%> (ø)

...ch/client/slm/SnapshotLifecyclePolicyMetadata.java
0.00% <0.00%> (ø)

.../opensearch/client/slm/SnapshotLifecycleStats.java
0.00% <0.00%> (ø)

...rch/client/slm/SnapshotRetentionConfiguration.java
0.00% <0.00%> (ø)

...java/org/opensearch/common/xcontent/MediaType.java
100.00% <ø> (ø)

...a/org/opensearch/common/xcontent/XContentType.java
100.00% <ø> (ø)

...ch/analysis/common/CommonAnalysisModulePlugin.java
92.33% <ø> (ø)

.../main/java/org/opensearch/geo/GeoModulePlugin.java
100.00% <ø> (ø)

...cket/composite/GeoTileGridValuesSourceBuilder.java
91.07% <ø> (ø)

... and 704 more

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

Changes LGTM. @amkhar can you please ensure we have test to submit tasks from multiple threads else add them.

Hey @shwetathareja , there are no tests which invokes parallel threads on single batchingKey. Existing test testTasksAreExecutedInOrder hit submitTasks method in for loop so order of execution can be asserted. In case we hit parallel thread on single batchingKey, we can't assert execution order because it's actually non-deterministic that which thread will hit first.
So, only assertion we can do is "no tasks are dropped in execution" (due to the modification or list and CHM with new change), i.e. checking if count of tasks execution per batchingKey is same as the number of parallel threads we run for that batchingKey.

checking if count of tasks execution per batchingKey is same as the number of parallel threads we run for that batchingKey.

This validation is already happening in testTasksAreExecutedInOrder test but there we hit submitTasks serially. So it'll be a similar test but we'll be hitting submitTasks in parallel. Does that make sense ? if it looks good, I can update the PR.
Feel free to suggest other assertions which I may be missing :)

This validation is already happening in testTasksAreExecutedInOrder test but there we hit submitTasks serially. So it'll be a similar test but we'll be hitting submitTasks in parallel. Does that make sense ? if it looks good, I can update the PR.

@amkhar right we need to write a test to ensure none of the tasks are lost due to any race condition in the code when tasks are submitted in parallel.

Please rebase the latest from main, which should fix up the unrelated test failures.

Opened an issue for flaky test failure : https://github.com/opensearch-project/OpenSearch/issues/6565


Decouple Staking and Election - Part 2.1: Unleash Multi Phase

This is called part 2.1, because it can be applied after part 2 is merged, and there's no need to have part 3 (signed phase).

Original PR: #7319
Part 1 #7908
Part 2 #7909  --> Enabling it as dry-run: https://github.com/paritytech/polkadot/pull/2476
Part 2.1 #8113, and polkadot companion: https://github.com/paritytech/polkadot/pull/2432
Part 3 #7910

So, this is building on top of the part 2 for now. We can rebase it later.
By the end of #7909, If we merge it with its companion, the pallet will be deployed, and it will compute all the elections, but staking will still use its own election mechanism. This PR will wipe a lot of code from staking, and henceforth staking will use the new multi-phase election (again, regardless of having a signed phase or not).

There are a lot of TODOs that I'd prefer to see resolved one way or another, but overall this is great! Always glad to see PRs which remove a bunch of now-obsolete code.

Rest assured, the todos must be resolved before merging, they are just my notes to future self.

@thiolliere @shawntabrizi I prefer this PR to get merged only once all members approve it meaning that I look forward to both of you reviewing this. Note that pay also very close attention to what codes I removed, is the additions of this PR are much less. As usual, changes to staking/src/lib.rs are of utmost importance.
There are two TODOs left in the code .

One is merely to raise attention to the era-switch logic and make sure it is sane. Will be removed at the very last.
Other one is the macro that I used to generate the storage types. I think this can stay as-is for now, but later on we move it to frame-support, as it can be a valuable helper to generate types for migrations that remove storage.

This PR looks good, mostly cleaning up a bunch of old code.
What I dont have a clear concept of is how the runtime system will transition here, and what issues we may want to look out for.
Did you elaborate this somewhere?

Here you go: https://drive.google.com/file/d/147qELFFrbuIasU3l-8SrnmwRSIOPtJbe/view?usp=sharing
(I'm also working on a written note somewhere about it)

@thiolliere It will be enacted in Polkadot actually very soon. I can also write some more manual tests using remote-externalities.
Also, please see my video update above. The second half contains an important problem that we should fix rather soon.

/benchmark runtime pallet_staking

/benchmark runtime pallet pallet_staking

/benchmark runtime pallet pallet_staking

/benchmark runtime pallet pallet_election_provider_multi_phase

I'll do one last review of this in the weekend and then merge it @shawntabrizi @thiolliere @coriolinus
Thank you for your reviews.

🚀

bot merge

is the runtime update v30 or the motion for it scheduled already?

is the runtime update v30 or the motion for it scheduled already?

not yet, Polkadot will move a bit slower, v29 is not yet enacted there.

Is there an ETA on v30? I've been closely following #2418 the thread on minimum staking amount, because I've lost 'exposure' and it led me here

There's a release-candidate already made for v30. But testing is still on going. I hesitated to give any time estimates as it is almost impossible to know it accurately; a release needs to be tested thoroughly first, shipped to kusama and only then is ready for polkadot.


Report status as failure if upload fails in the finalize or upload action

Merge / deployment checklist

Run test builds as necessary. Can be on this repository or elsewhere as needed in order to test the change - please include links to tests in other repos!

[ ] CodeQL using init/analyze actions
[ ] 3rd party tool using upload action

[x] Confirm this change is backwards compatible with existing workflows.
[x] Confirm the readme has been updated if necessary.

Has conflicts now


[VL] Use mixed memory (off-heap and on-heap) for native

Description
Gluten only use off-heap memory for now, and I see some PR want extend spill with spill to heap. However, we could use mixed memory which means use off-heap first then use on-heap when off-heap will OOM to utilize memory as much as possible.

This is a big topic but indeed very helpful to the project. So it would be good if you can elaborate on the design if you have some, and update the PR description to make it more concrete.
What I could imagine is that we can hack into Spark's memory manager, then dynamically borrow some heap caps when JVM heap is shrinking to a number below -Xmx, when G1 GC or Parallel GC are used. CMS GC doesn't support heap shrinking AFAIK.
Hacking to deeper level of JVM is also a potential solution, but that may require some techniques like heap-pining of Hotspot JVM which seems to be a very old feature in its earlier versions. I am not sure whether the feature works well in JDK 8+ but probably we can do some path-findings around it anyway.

I'm not ready to submit a PR, just use issue to record the idea.

What I could imagine is that we can hack into Spark's memory manager, then dynamically borrow some heap caps when JVM heap is shrinking to a number below -Xmx, when G1 GC or Parallel GC are used. CMS GC doesn't support heap shrinking AFAIK.

What if we declare a MemoryConsumer with ON_HEAP mode? just report to Spark how much memory we need, but not do real allocation in JVM.

What I could imagine is that we can hack into Spark's memory manager, then dynamically borrow some heap caps when JVM heap is shrinking to a number below -Xmx, when G1 GC or Parallel GC are used. CMS GC doesn't support heap shrinking AFAIK.

What if we declare a MemoryConsumer with ON_HEAP mode? just report to Spark how much memory we need, but not do real allocation in JVM.

To me that would be a little bit dangerous: If you don't actually allocate from JVM, it will finally full then trigger GC. During which the process RSS will go beyond the limit.
But if we can somehow keep the GCs inside young generation, the approach could be comparatively safter however still be risky if we want to control the memory limit very accurately.

Reservation and allocation are totally different things, reservation not trigger GC but allocation.
MemoryConsumer#allocatePage do reservation and allocation, MemoryConsumer#acquireMemory only do reservation that just notify Spark I need those number of bytes, when or how to allocate is not important.

Reservation and allocation are totally different things, reservation not trigger GC but allocation.

This is why it's dangerous: It doesn't allocate, and it doesn't trigger GC either. So any other part of the JVM could continue allocating from JVM until GC. So the total RSS will finally be beyond off-heap + on-heap, even before the actual GC happens.
JVM's heap size is not the size it allocated, it's allocated size + garbage size.

So any other part of the JVM could continue allocating from JVM until GC. So the total RSS will finally be beyond off-heap + on-heap, even before the actual GC happens.

I suppose the other part is memory consumer, and all I am discussed are under Spark memory manager scope. Do you mean there will be the case which Spark on-heap pool used + of-heap pool used beyond limit?

Do you mean there will be the case which Spark on-heap pool used + of-heap pool used beyond limit?

No, it's the case that JVM heap size + off-heap size, which is the real RSS the process used, beyond the limit.

JEP 423 in JDK 22 may help. Should investigate later.


Add StdFeats transform

closes #233

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (5776aaf) 94.29% compared to head (b7c3105) 94.43%.

:exclamation: Current head b7c3105 differs from pull request most recent head a34697d. Consider uploading reports for the commit a34697d to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #237      +/-   ##
==========================================
+ Coverage   94.29%   94.43%   +0.14%
==========================================
  Files          41       43       +2
  Lines        1261     1293      +32
==========================================
+ Hits         1189     1221      +32
  Misses         72       72

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


nixos/unified-remote: init at <IP_ADDRESS>5

Motivation for this change
Hi
I've used Unified Remote to control my media center PC from an old phone for years now.
After switching the OS to NixOS, I needed to run something similar.
A superficial search didn't turn up a comparable service already in NixOS and everyone in the house is already comfortable with Unified Remote, hence this PR.
Example usage:

Enable the serviceservices.unified-remote.enable = true;
services.unified-remote.openFirewall = true;

Install app on phone

Things done

Adds the unified-remote package
Adds a unified-remote service
Adds nixos test

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

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

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

Please don't PR to release branches, go through master and request a cherry-pick after.
Also please squash your commits into logical chunks.

@globin sorry about that. I made some changes. Do they address your concerns?

Travis fails due to the unfree license.

I'm not really in favor of adding unfree software to NixOS unless there is a compelling reason.

Thank you for your comments @edolstra. I appreciate your concern and would be happy continuing to maintain these patches out of tree for now.
There are a couple flaws with the PR:

The unfree license
Opacity of the upstream update process

That said, my experience using NixOS plus this service for a couple months has been positive.
A single data point is probably not a good enough reason to merge though.

Closing this as I've moved the module and package elsewhere  https://gitlab.com/badi.sh/nixos-mediacenter


Add section about "$ref" in docs

I was searching for it ~30 mins. The docs could really be improved ;)

https://github.com/epoberezkin/ajv#ref


Support for VFX Graph

It would be cool for this to support the VFX Graph. All it would take would be changing this line: https://github.com/keijiro/DFVolume/blob/master/Assets/DFVolume/VolumeSampler.cs#L79 so that the distance is stored in the red channel, rather than the alpha channel.

It worked well for me with the Confrom To SDF block. I'm not sure if float textures can support signed values anyway.

The distance field being unsigned means that the object ends up being hollow in the end. I'm not sure what the easiest way to get it working solidly would be though

Okay. Thanks for the input. I'll rethink it when I start working on VFX Graph.

Now VFX Graph has its own SDF baking tool (from Unity 2021.2). I'm closing this issue because it's not needed anymore.


[Improvement] Make elasticsearch image registry configurable

Is your improvement request related to a problem? Please describe.
hardcoded ones:
elasticsearch/templates/componentdefinition.yaml:      image: docker.io/busybox:1.35

fixed


unbreak ci by pining novaclient.

novalcient 8.0.0 got released today which is breaking calls to nova security group. To unblock CI this PR is pining novaclient to < 8.0.0.
We will remove this pinning once upstream release fix for novaclient.
calls failing:
openstack security group rule list

retest


error Couldn't find the binary git

My NEXT app got this error when it is deployed onto Now server: "Couldn't find the binary git" after 'yarn install something...' according to error log.
I followed the official Now-NEXT deployment configuration of custom server.js use case.
https://zeit.co/docs/v2/deployments/official-builders/next-js-now-next/
Below is my now.json:
{
  "version": 2,
  "builds": [
    { "src": "next.config.js", "use": "@now/next" }
  ]
}

And my next.config.js:
module.exports = () => ({})
And my npm scripts:
"scripts": {
    "dev": "node server.js",
    "build": "next build",
    "start": "NODE_ENV=production node server.js"
}

My understanding for this error is 'You do not install git'. But my machine is Linux Ubuntu...
Any help is appreciated.

bro, i just figure it out!
The binary of git just means that que OS don't have git installed. My workaround was to using this "gitlab:team/repository", this format shouldn't trigger any errors. But, there is a extra step, you need install in your local environment,  and be sure that you are not ignoring the yarn.lock file in your .nowignore.
As I understood, the .lock file of your installations stores a different link to the git repository, this link points to do a zip file, therefore the server os Zeit will download the package from git, without using git. :)
PS: Should work on any combination of git provider and package manager


Share the reproduce results

Thanks for the wonderful work.
mask-dino swim-L 50ep： box map 58.2, seg mask 51.9 (repo 59.0, 52.3) 8 x a100
Notice: stopped in the intermediate for the disk full problem,  restart with --resume flag a.g.

Mask-dino resnet 50ep, 4xa100
box map：51.375 seg mask 46.23 (repo, box map 51.7 seg map 46.3)

Users what to use the algorithm, may escape the reproduce phrase.

Hello, I would like to ask what configuration file was used to reproduce the results under resnet50, and have any modifications been made? The results I reproduced here are significantly different from those in the paper report. I would like to know where the problem occurred? I really hope to receive your reply.


Bugfix conflict active_support 4.2.0 concern class_methods

And tests to reproduce the bug, I wrote the code to fix the bug.

Coverage increased (+0.89%) to 98.71% when pulling 41958e9a5ed32fa061150ed5dc13cf08b46fc586 on akicho8:conflict_active_support into 80c339084ea7e51b43d22f3ff6db13f40a510068 on mongoid:master.

Due to the origin gem 2.1.1, Travis CI failed.
What can I do. :disappointed_relieved:

If the https://github.com/mongoid/origin/pull/107 to origin not have my merge, it is not this bug is healed.


 Will wait for #278 to be merged.

This change slowed down the CI run by 7 min. I don't think it is the right way. Reopening.


[VL] Support pushdown Timestamp type to scan

Description
Velox should already support pushdown timestamp type to scan now.

Description
Velox should already support pushdown timestamp type to scan now.

Do you mean timestamp support of table scan or filter in Scan?
Timestamp in table scan is not yet fully supported. PRs are ready but not merged

Pushdown of timestamp filter has been supported in Velox, and it works for the INT96 timestamp reader.

You could reopen it if you still have problem.


[feature] PDF difference/change support

It would be great if we could also see/visualize changes in document formats such as PDF (.docx and .odt, etc. could be interesting as well).
Could be interesting to add some sort of generic plugin interface. So that it would be easy to add support for more formats.
Describe the solution you'd like
I would like to be able to detect changes in (binary) document formats such as PDF, maybe even .docx, .odt, etc.
Inspired by: https://github.com/dgtlmoon/changedetection.io/pull/419

This is related to the request to just have a binary comparison...
https://docs.python.org/3/library/filecmp.html

FOR pdf - this is done :)


Update free-programming-books-zh.md

commit one circle about PHP

Thanks! This doesn't look like a book though.


Configurable icons for submit button

Originally posted here and here.

At the moment the best option is to overwrite the atPwdFormBtn.
See #212 to see how to actually overwrite a template.
I see this as a new feature to be used like the social button icons configuration.
Possibly for the 2.0 milestone?


argmicro converter for TextDocumentWithLabeledSpansAndBinaryRelations should follow literature

The conversion procedure, i.e. this code, should follow the description in the section "3. Dataset: Transformation" of the following paper: Andreas Peldszus and Manfred Stede. 2015. Joint prediction in MST-style discourse parsing for argumentation mining. In Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pages 938–948, Lisbon, Portugal. Association for Computational Linguistics.
In addition: The authors of End-to-end Argument Mining with Cross-corpora Multi-task Learning (Morio et al., TACL 2022) mention that they follow An Empirical Study of Span Representations in Argumentation Structure Parsing (Kuribayashi et al., ACL 2019) for how to handle the add relations. It looks like this happens within this code. We should understand what they do in this regard and follow that.
The final result should be described in the Document Converters section of the PIE dataset card.

Notes: I found errors in https://huggingface.co/datasets/pie/argmicro#data-schema -> MultiRelation (wrong argument names and wrong argument types)

Analysis by @idalr: argmicro_0_relations 1.pdf


Bisection method cpp

This pull request contains a bisection method implementation in C++. I will try to add more stuff, time permitting.

Thanks 👍🏼


Fix metrics file counters when using DSL plugins

Motivation
Before this PR, the test provided in test/cli/metrics-file was returning wrong counters such as:
    ruby_typer.unknown..types.input.files: 1
    ruby_typer.unknown..types.input.files.sigil.false: 1
    ruby_typer.unknown..types.input.files.sigil.true: 1

This PR avoid incrementing file counters from a DSL plugins:
    ruby_typer.unknown..types.input.files: 1
    ruby_typer.unknown..types.input.files.sigil.false: 0
    ruby_typer.unknown..types.input.files.sigil.true: 1

Test plan
See included automated tests.

Thank you!


kubeflow for microk8s deployment fail

Trying to deploy Kubeflow for microk8s and following the readme file I had this issue:
Executing changes:

upload charm cs:~kubeflow-charmers/ambassador-78 for series kubernetes
ERROR cannot deploy bundle: cannot add charm "cs:~kubeflow-charmers/ambassador-78": cannot retrieve charm "cs:~kubeflow-charmers/ambassador-78": cannot get archive: Get https://api.jujucharms.com/charmstore/v5/~kubeflow-charmers/ambassador-78/archive?channel=stable: x509: certificate is valid for h2864380.stratoserver.net, not api.jujucharms.com
Command '('juju', 'deploy', '-m', 'kubeflow', 'kubeflow', '--channel', 'stable', '--overlay=/tmp/tmpss1zciuq')' returned non-zero exit status 1.

It's an environment issue ! sorry.


Use jenkins::cli::exec in security.pp

Commit 6bc33de changed a whole bunch of execs to jenkins::cli::exec
but missed this one out.
Without this change exec gets grumpy about the command argument
being an array.

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests


When translate is used as a directive, ngx-translate-extract does not find the key(s).

Version 2.3.4 used to support finding keys when the translate attribute is actually included as a directive. [translate]="'MY_KEY'" would be an example that worked before, but no longer does since upgrading to 3.x.x or 4.x.x.
If I change it to not use the directive like this: translate="MY_KEY" it obviously works. ngx-translate clearly intends to support the directive version as found here: https://github.com/ngx-translate/core#4-use-the-service-the-pipe-or-the-directive.
Here would be a test that I would expect to pass (but does not) in the current file directive.parser.spec.ts:
it('should extract translate directive value as key when provided', () => {
	const contents = '<div [translate]="\'MY_KEY\'"></div>';
	const keys = parser.extract(contents, templateFilename).keys();
	expect(keys).to.deep.equal(['MY_KEY']);
});

Let me know if you need any additional information.

It seems like the angular compiler treats plain attributes differently than input and output bound ones.
export declare class Element implements Node {
    ...
    attributes: TextAttribute[];
    inputs: BoundAttribute[];
    outputs: BoundEvent[];
    ...
}

Angular Compiler Source Code
Therefore this package needs support for translate keys which are passed via a input binding.
I implemented that functionality and created a PR (#190).
@biesbjerg what do you think of these changes? I am not to familiar with angular compiler stuff.

Hello! Thank you for the PR!
I've had some time to look into this and added support in https://github.com/biesbjerg/ngx-translate-extract/commit/85cd1e4a4683a2569de6bc072dc3849bc4c35328.
Will be released in the next version :-)

@biesbjerg Do you think it would be possible to release a minor version that includes this fix already anytime soon? Our project has quite a few occurrences of the translate directive as a bound attribute, and they are currently stripped every time ngx-translate-extract is run. Thanks! ;-)


OSX pod issue

[READ] Step 1: Are you in the right place?

For issues or feature requests related to the code in this repository
file a Github issue.

If this is a feature request make sure the issue title starts with "FR:".

For general technical questions, post a question on StackOverflow
with the firebase tag.
For general Firebase discussion, use the firebase-talk
google group.
For help troubleshooting your application that does not fall under one
of the above categories, reach out to the personalized
Firebase support channel.

[REQUIRED] Step 2: Describe your environment

Xcode version: 10.10
Firebase SDK version: _____
Firebase Component: Auth, Core, Database, Firestore, Messaging, Storage
Component version: _____

[REQUIRED] Step 3: Describe the problem
Just want to confirm that is Firebase no longer support even single feature on macOS platform?
looks like I cant install any of them.

especially this one:
The FirebaseFirestore without it, I couldn't config my application

Steps to reproduce:
What happened? How can we make the problem occur?
This could be a description, log/console output, etc.
Relevant Code:

Please see the instructions at https://github.com/firebase/firebase-ios-sdk#macos-and-tvos. The Firebase pod is not supported.  Both Firestore and Functions added osx support in more recent versions than requested. Perhaps you need a pod update.
If you're still having trouble, please share the Podfile and Podfile.lock.


highlight doesn't following code on game after scroll

when scroll on code section of game, the highlight doesn't follow the line
on the example, i've scroll before start

Resolve by change the rectangle referenced to the scroll

Resolve by change the rectangle referenced to the scroll


Support Node v18

Motivation
Support node version 18
Description
Fix any breaking changes and update CI to include v18 in build
Closes #4061

can you merge latest unstable on top?


Missing API declaration for NSPrivacyAccessedAPICategoryDiskSpace when integrated via SPM

We integrate DeviceKit 5.2.3 via Swift Package Manager (SPM).
Upon upload for review to the AppStore we receive the mail by Apple with the warning about missing API declaration for NSPrivacyAccessedAPICategoryDiskSpace.
I investigated the payload of the uploaded .ipa and it contains DeviceKit_DeviceKit.bundle.
Inside of this bundle I can also see the PrivacyInfo.xcprivacy file.
This means the PrivacyInfo file should be recognized during the AppStore review process. But the issue is: It does not get recognized and our app is flagged for using NSPrivacyAccessedAPICategoryDiskSpace without declaration.
I have tried to upload a version to app review where I removed DeviceKit from the app.
This version passed review without being flagged.
So it must be an issue with the DeviceKit SPM package integration.

I faced the same issue. Thank you for reporting @ksdjfksd !

We almost have no time until 1 May. Could anybody raise the priority for the ticket ? For me it's a blocker.

Similar discussion and workaround for Firebase here
Apparently AppStore Connect is not the seeing privacy reports from SPM dependencies because they are statically linked.
A workaround could be to manually add the required reasons of your dependencies in your app's privacy report (not tested).

Hmmm, the bug is related to Swift Package Manager and it was opened 5 days ago
https://github.com/apple/swift-package-manager/issues/7317

Few days ago Apple updated their documentation related to static libs

Distribute your static library with a privacy manifest
A static library is an archive of object files with the .a file extension. It doesn’t support resources such as the privacy manifest. If you currently distribute a static library as an SDK and want to update it to include a privacy manifest in Xcode, create a new static framework target that includes all your static library’s source files and resources, then add the privacy manifest to the target’s resource.
If you don’t use Xcode to build your static library, create a static framework bundle for your static library manually, then add the privacy manifest to the bundle as a resource. For more information about framework bundle structure, see Placing content in a bundle. To identify the privacy manifest location in the static framework, see Add a privacy manifest to your framework.

The link to documentation is here

Sounds like the offending code should be pulled into another library, or this library should add suggestions for how to add the privacy reasons to your app that this violates..
I don't see any other way around this, do you guys?


Top up salt alert

Since the latest update, I receive frequent alerts informing me not to refill salt in my washing machine. How can I disable these alerts? I prefer to be notified only when there's no salt left.

there is no way to disable specific alerts at the moment, you can only turn off the alerts entirely.
You can turn off the notifications entirely if you go into CONFIGURE for the integration

the main issue here is the device never stops alerting (in the api) so I we cannot just treat an alert as completed. When you dismiss it HA deletes the instance of it but the API never stops telling us the issue exists.
I am able to keep it to 1 notification per alert using a unique identifier - but by definition the issue still exists (as the api is still yelling at us)
The best i think we could do is break out the above screenshotted option to each category of alert (but i dont know what all those are either)
So far have seen ALERT, 'WARNING' and 'DIAGNOSTIC` - so we could have 3 tick boxes instead of just one ?

Hi @kingy444 I was just digging around this and just saw your latest messages.
I think that we shouldn't make it too complicated : either disable the notifications if they are annoying, and if you want some specific alerts you can configure automations for this.
Classify alerts as you suggest may be the best thing to do

Hi @albaintor @kingy444 An Automation would be fine but there is no entity for the salt alert.

For now the easiest option for you is to disable all notifications and create a template sensor based on the attribute of the alerts sensor

I would recommend to totally remove the notifications, because none of any other integration sends notifications. It's up to the user to create an automation, if he wants a specific notification. Thanks for the hint, that there is an option in the config dialog to disable the notifications, because I was also annoyed about these new notifications.

Alerts was actually a feature request 😀
There are definitely some that are useful for other devices though so I think they should stay.
I'll look at enabling the granular alert settings as mentioned above, but for instance an alert that fridge door is open is important (and has ALERT status not WARNING)
I think we just need to update the README to cover disabling them as desired. I'll probably make ALERT default on and WWARNING as off

Just because it is a feature request, doesn't make it right.
I have never seen any other integration giving alerts like that in notifications, and to be hones it is a very weird place to have them.
How can I disable notifications from this integration?

I would recommend to totally remove the notifications

That's not needed, since you can disable it. Other people might find it useful!
I have some questions about alerts:

Would there be an option to translate/localize the alerts? And apply some filters to them so they look nicer? In templates you can do things like |replace("_"," ")|capitalize to convert it from SCREAMING_SNAKE_CASE to something more human friendly.
How should I interpret the following:Alert: DISH_ALARM_RINSE_AID_LOW
Severity: WARNING
Status: NOT_NEEDED

The rinse aid is low, it's a warning, but then... something is not needed? I assume it's meant to say that immediate action is not needed or something? It's a bit confusing if put like this...


Improvements to section processing

The section processing in getText (from the preg_match_all down) has some problems:

The regex (rightly marked with a TODO) can be improved so that it matches headers with a symmetric number of ='s, and those that happen to have spaces behind them.
The last section (both by index and by name) isn't given a length in the sections arrays. getSection works around this but it's not elegant.
Pages with duplicate section headers (see e.g. Item) result in fewer byName entries than byIndex, and incorrect offset / negative length values in both.

I have code changes for these ready, but would like to understand (from a commit organizational perspective) whether these are better applied in a separate branch & PR or could also hitchhike along in the ongoing patch-1 of PR #30. Thoughts?

I personally would prefer these as a separate PR. The thread in #30 is long enough already :)

That was my thinking too, so thanks a lot for wrapping that one up.
I'm assuming I can continue to use my patch-1 branch for the commits in this issue? Or should it be deleted now, and new one started?
If the latter, I can use the Delete button in the previous PR, but how do I then sync my local git tree?
As an aside, I've been wondering why the Branch dropdown list on the main page never listed patch-1?
Further, can I simply create a new branch from the command line and commit changes referencing this issue number? Or should I create a new pull request? I must admit still being a little confused about GitHub's mix of web GUI and command-line approaches to the same repo's, and I have found little in their Help and Guides sections to clarify the latter.

I'm assuming I can continue to use my patch-1 branch for the commits in this issue? Or should it be deleted now, and new one started?

Normally people tend to delete the branch and start a new one, but that's just a convention. In semantic terms, it makes more sense for new branches to be based off master (i.e. the merge commit that has patch-1 and the previous commit on master as parents, rather than the last commit of patch-1 before the merge). But in technical terms it doesn't really make much of a difference (well, it may make eventual rebases easier, but I never attempted that.)
To play it safe, I'd suggest starting a new one. If you delete it on github and start the new one on github as well, after the deletion, it will be called patch-1 too, but only the name will be the same -- it will have no connection with the previous branch. If however you want to give it a more specific name, you'll have to create it in the command line and then sync with your fork with push --set-upstream origin branchname (the upstream branchname can be different from the local one, but it's convenient to keep them the same). You only need to use --set-upstream once; after that, plain git push will know which upstream branch to sync.

If the latter, I can use the Delete button in the previous PR, but how do I then sync my local git tree?

To sync your local clone of your fork (and then your fork too, which weirdly isn't possible from the web interface), you will have to add another remote to the repo. Normally the default remote is origin, corresponding to your fork, so I usually call the one corresponding to the canonical repo upstream.

As an aside, I've been wondering why the Branch dropdown list on the main page never listed patch-1?

That's because branches from forks are not actually created in the original repo; only internal git references are created, which are read-only. This used to be a pain point when a PR became abandoned, since the branch in the PR couldn't be changed by the project maintainers to get the PR into a mergeable state, since it only existed as a branch in the fork, where the maintainers didn't have commit access -- so separate PRs had to be started, and the existing ones closed, which was a mess. They recently changed this, but by allowing fork authors to give commit rights to the upstream maintainers (maybe just in the PR branch? I haven't played with that functionality enough to know), rather than creating the PR branches in the original repo. Which means that patch-1 still won't appear in the dropdown, at least for the time being.

Further, can I simply create a new branch from the command line and commit changes referencing this issue number? Or should I create a new pull request?

Both, actually. If you create a local branch, and push it you your fork, when visiting your fork you'll see a box mentioning recently pushed branches, with a green "create pull request" button.

I must admit still being a little confused about GitHub's mix of web GUI and command-line approaches to the same repo's, and I have found little in their Help and Guides sections to clarify the latter.

You're not the only one :( I think they've been making some strides recently in getting the web UI more fuctional for the basic operations (non-interactive rebasing and conflict resolution is an obvious next candidate IMO), but we can only wait.

Ok, so to sum up: delete the branch on the previous PR; add the upstream repo to your fork (git remote add upstream https://github.com/hamstar/Wikimate.git); get the merge commit (git checkout master && git pull); create a new branch (git checkout -b new-branch-name) and send it to your fork (git push --set-upstream origin new-branch-name). On the web interface, create a pull request based on that branch (the button should only appear if the branch actually has commits above master). From then on, you can make any changes to the branch locally, and a git push (with --force if necessary) will update the branch in your fork on github, and therefore on the PR as well.

Thanks much for elaborating and for the detailed instructions. FYI fetch --prune did not delete the branch, branch -D was needed. Everything else went according to recipe. :)
Given that cli git is needed for many non-trivial actions, I'd rather use one interface all the time, but I gather the website remains necessary for some steps central to GitHub (most notably pull requests). That's understandable but I guess I'm not alone in struggling to grasp all that, so I'm really glad an experienced collaborator like yourself is active on this repository to guide (relative) newbies like me along. :+1:

There's actually a way to do it all in the command line -- github's own hub command line tool-- but I haven't had the opportunity to improve the tldr instructions for it. If you'd like to give that a try, please let me know of any improvements you'd suggest to those instructions in order to make them clearer.

Fixed in #33.

Hmm, it requires git v1.7.3 but I'm on 1.7.1 (SciLinux 6.8). Anyway, I'll keep trying and learning, and asking if necessary. :smile:

👍 this also helps me stay sharp on my own learning :)


Board is not drawn correctly in LastOneLost activity when open from the Journal

Steps to reproduce:

Launch LOL activity
Play few rounds
Stop the activity
Relaunch the activity from the Journal

The board is displayed like if it's a new game though few items should miss.

Fixed in https://github.com/llaske/sugarizer/commit/19bd97801c6577112bf31a818859036f7dd55638


add .Content to layout file

In your implementation there is no clear way to creating custom previews or registering custom widgets with Decap CMS.
This one-line add of {{ safeHTML | .Content }} allows one to embed such things in the content/admin/index.html file and then it is injected correctly.

Thanks for your contributions, the .Content approach is not good for templates, will provide some hooks later.

I created another implementation, see https://github.com/hugomods/decap-cms/pull/31 for using it. Please feel free to try the latest version.

Hi @yippyskippy, I made some improvements for developing widgets and editor components, now this module will load those widgets and components automatically.
Widgets
To customize a widget, you'll need to put it under the assets/decap-cms/widgets folder, and writing content in following form.

The filename extension must be .js.

// assets/decap-cms/widgets/my-widget.js
export const name = 'my-widget'
export const control = createClass({})
// export const preview = {}
// export const schema = {}

It should export name, control, preview (optional) and schema (optional).
Editor Components
Similarly, the editor components should be saved under the assets/decap-cms/editor-components folder, which content as defined as follows.
// assets/decap-cms/editor-components/my-editor-component.js
export default {
  // COMPONENT DEFINITION
}

You can find examples on https://github.com/hugomods/decap-cms/tree/main/editor-components and https://github.com/hugomods/decap-cms/tree/main/widgets.

Is that just so a user can include one and not another?

Yes, it is. Users can import the widgets and components they want via Hugo modules, it maybe useful to let user manage deps.
Let's say if the foo widget depends bar and fizz Hugo modules, if put all things in single one Hugo modules, users will be always to download the bar and fizz modules even they don't require the foo widget.


release 0.9.0

[ ] QA 0.8.5 Platform Lead Shadow
[x] QA iOS @tvanderstad & @smailbarkouch
[x] QA iPad @Parth & @smailbarkouch
[ ] QA macOS @smailbarkouch & @ad-tra
[x] QA Android @ad-tra & @Parth
[x] QA egui @Parth & @ad-tra
[ ] QA windows @tvanderstad & @ad-tra
[ ] QA linux @ad-tra & @tvanderstad
[x] QA CLI & lb-fs @smailbarkouch & @Parth

CLI QA Notes:

stream missing docs
lockbook account status bad timestamp (renews on), bad usage info
zsh tab completions insert space after folder annoying
no tab completions for local files
debug info can be more useful
cannot author new file via stream in
check if unmount succeeded

CLI QA Video: https://drive.google.com/file/d/1LS3moqPCtfA_P2bf8AUSOkKybEbgVgMr/view?usp=sharing

macos crash on create document in a new folder:

Android QA:

search is broken in 2 ways, sometimes during search, sometimes onResume
animation shadow for pull to refresh gets stuck sometimes
possible fps issues while scrolling md documents
selection handles small (also checkboxes)
back button gesture hits scroll bars in documents
rename icon a little unclear, other apps use context menu for rename
nothing pulls you into hamburger menu if you have pending shares
hide red & write access list if shares are empty
possibly have some explanation about what that bottom section is in share file
platform wide we don't really respect read/write permissions
share externally causes shared app (messages for instance) to appear as lockbook in recent apps
adam idea: pending shares: can replace icons with text because we have room. Long pressing doesn't explain those icons (only reject all)
after we create the link it should transfer you to link location
not sure if bug: create a folder see sync status (1 file to push) delete folder without syncing see sync status (still 1 file to push) unsure if expected behavior.
widgets would be nice (3 types)
think through subscriptions as a team
logs are broken in known ways

egui QA

[ ] icons are white when a modal is open
[ ] sync message outdated
[ ] image pan
[ ] image overflows file tree
[ ] canvas: scale is wrong from the left
[ ] canvas: selection bounding box is overflows
[ ] canvas: differentiate between shift and ctrl multi select
[ ] file tree: animations would be nice
[ ] file tree: when you drag a file, it can scroll to infinity
[ ] file tree: scrolls horizontally when not needed
[ ] make all keyboard shortcuts cmd or ctrl instead of just ctrl

android video: https://discord.com/channels/1014184997751619664/1208419213912440842/1208535762933514361
egui video: https://discord.com/channels/1014184997751619664/1208419213912440842/1208533372922499132

Windows QA

can't create a drawing in tablet mode

integration detects long presses as a left click. ()

Windows integration is very slow whether that's

scrolling large md files
drawing is almost unusable

when you go into selection mode for the first time, an empty selection box is shown
can't zoom in on canvas
couldn't open a pdf because the pdfium module is missing
toggling zen mode doesn't shift the contents of the canvas
canvas resize doesn't snap to the cursor
canvas scale doesn't collectively scale items together (swing)
can't delete in tablet mode in selection
canvas: path stops drawing after the hover instead of after lifting off the pen
egui can not shut down the app gracefully
egui dragging files is very finicky
dropping a file doesn't work
file picker is cropped off. it's centered relative to the workspace but when the window is smaller than workspace width it should be centered relative to the screen.
can't scroll through the image, plus large images overflood workspace
md editor has external padding that is drawn over the sidebar
can't hide cursor on canvas
ideally, even if the cursor hover is over an empty text region the cursor icon should still be the text cursor icon
tab strip x is not centered
delete, deletes the open thing in workspace instead of the selected
offline mode doesn't work on egui because the error text does not wrap

linux QA

resizing the image causes a lot of issues in resizing the sidebar
moving files doesn't work on Linux.
copying text breaks the ability to change tab groups within the window manager
cursor hide doesn't work
opening a lookbook link (or any unsupported link) caused the app to crash
note to me: workspace change selected_file from pushing it every frame to only pushing it on a diff
canvas: can't switch focused tool based on keyboard

ios QA:

general

after inital sync, pending shares indicator is shown despite no pending shares
cannot select multiple files
back button should appear in toolbar when in folder
file list edges become sharp when dragging out of a folder
make list denser
the create folder sheet has no create button

editor

pressing and holding the toolbar button shows tooltip for an instance
need more toolbar buttons
context menu

copy, paste, and select should appear ealier
is not shown consistently

floating cursor does not have the native behavior
sometimes difficult to select the end of a line of text
opening a document link won't change the title

canvas

toolbar is wider than the screen
strokes look pixelated
cannot pan or zoom

pdf view

cannot pan or zoom
scrollbars are difficult to grab

image view

cannot pan or zoom

move sheet

folders show up in a different order each time
all folders are expanded by default (privacy concern)

rename sheet

should automatically focus the keyboard
rename error message looks weird

share document sheet

refine UX
"username" hint should be more specific

settings

server URL should not have its own screen
cancel subscription button does not fill width and does not button style

search

search flashes white when in progress
sometimes pressed search results don't open

macos QA

general

we use SF font for workspace
sidebar width is too small by default
rename sheet needs more padding
deleting a document should have a confirmation UI
moving a document into the same directory show "file moved" toast
pending shares screen takes up a lot of space
pending shares button should appear pressed when open
you can open multiple instances of lockbook and workspace using the "show tab bar" in the menu bar

file tree

creating a new document (for where there isn't any document named "untitled") will not automatically open that document
renaming or deleting the active document won't affect the workspace tab immediately
cannot open an already selected document in the file tree without clicking somewhere else first
not new drawing shortcut

share document sheet

refine UX

document search

jumps up and down a lot
takes up more space than is needed sometimes

search

searchbar should be in the sidebar
search results whos parents are root will have empty text for indicating its parent