Add GCS backend

Main work by @diptadas, thank you very much! Successor of #1052.
TODO:

[x] Move files to new repo structure
[x] Vendor dependencies with dep
[ ] Configure backend tests
[ ] Test the backend thoroughly
[ ] Add documentation to the manual (see https://github.com/restic/restic/pull/1052#issue-237117124)

Is the GCS the same as Gdrive or is it different?

It's entirely different. GCS is similar to S3.

I see, the tool rclone (golang) tool does support gdrive maybe we can find a way to create also a gdrive backend. But thanks for your answer, I will continue in a different thread.

Codecov Report

Merging #1134 into master will decrease coverage by 1.16%.
The diff coverage is 5.94%.

@@            Coverage Diff             @@
##           master    #1134      +/-   ##
==========================================
- Coverage   52.84%   51.68%   -1.17%
==========================================
  Files         121      123       +2
  Lines       11397    11700     +303
==========================================
+ Hits         6023     6047      +24
- Misses       4667     4943     +276
- Partials      707      710       +3

Impacted Files
Coverage Δ

internal/backend/location/location.go
60% <ø> (ø)
:arrow_up:

cmd/restic/global.go
18.97% <0%> (-1.48%)
:arrow_down:

internal/backend/gs/gs.go
0% <0%> (ø)

internal/backend/gs/config.go
75% <75%> (ø)

cmd/restic/lock.go
60% <0%> (+7.5%)
:arrow_up:

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 608adf1...0ec296f. Read the comment docs.

Uhm ok, I'll leave this here for now, feel free to close the review. Honestly I do not know what "a review" à la GitHub means.


No possibility to test behavior with different modules?

Sometimes flow works different in the following cases:

code in one file
code in different files

But it seems that we can't write tests right now that can check the second case.
I tried to fix react-redux libdefs. I need to declare a connected React component in one file and check its usage in another to reproduce a bug. I tried to create TestComponent.js file near test_connect.js, but checker says that I need to use name for file that starts with test_. But when I renamed a file to test_component.js, I got an error
* react-redux_v5.x.x/flow_v0.54.x- (flow-v0.55.0): Unexpected Flow errors(2):
   Error: 2-test_connect.js:4
     4: import CC3 from './test_CC3';
                        ^^^^^^^^^^^^ ./test_CC3. Required module not found

Can we handle the situation somehow?
Can I help?

+1 on this.
@GAntoine do you have a strong opinion on how this should be implemented?

remove name mangling of test files (may need to rename some files to ensure unique test names across a library):
add support for test_foo as directory (and maintain structure inside it without name mangling)
add support for setup_foo.js as setup files (will need to be unique name within a library)

I think 1 is simplest to implement and maintains current folder structure clear. Would add a clear error message if there are basename clashes.
Also cc @villesau since you are working on https://github.com/flowtype/flow-typed/pull/1731

Is there a known benefit to why we mangle the filenames now? It seems like that's separate from actually finding the test files, so without more information it seems like removing the mangling is the best thing to do.

Agreed, seems reasonable to me (lacking much context here though). @LoganBarnett and I ran into a similar bug with Ramda, so it's definitely the case that many libraries would benefit from support here.
I'm concerned about cluttering the main testing directories, though, and like the idea of having a test_files folder for extra files related to tests. As it is right now, it's super clear where the defs and tests live, and it'll get muddled with extra helper files.

I don't see why there should be any difference wether the code lives in the same file or imported from another, especially if the code is well typed. Instead of writing workaround here, what about opening a bug report in Flow? Though, if it would be an easy fix, it would probably already been fixed (which on the other hand doesn't make it any less of a bug).

@villesau based on @cprodescu's post earlier (see item 1), it looks like this is a workaround in flow-typed that we're asking be removed.
The general gist of the bug is when writing code like this test:
import { type A } from 'a'
import b from 'b'

// returns an A
const a: A = b.getA()

But the import on the first line fails in flow-typed because of how names get mangled. Ordinarily code like this works just fine in flow land, so I don't think opening a bug there will address this, if that makes sense.

I agree with both of you :)
@villesau I agree ideally flow should have the same behavior in-module vs across modules, opening a ticket on this makes sense (would also remove the need for %checks, etc).
In the mean-time, I believe it is not unreasonable for flow-typed to support multi-file tests, as @LoganBarnett suggests. One note, the name mangling workaround was introduced in flow-typed to support multi-level tests with clashing names (foo-lib/test.js and foo-lib/flow-0.23.x/test.js).
About my proposal, I'm suggesting 1 since it's the simplest thing from the limited context I have. @GAntoine and @AndrewSouthpaw definitely have more context.

@LoganBarnett That makes perfect sense! Though, like the original post states, there is difference wether the code lives in same file or not. So basically your code example might behave differently if module a and b would live in the file you are using them, apparently Flow looses some type information. I've experienced this too while writing react-redux types and trying them out in larger codebase.

@cprodescu @villesau ah - I'm probably confused about something then. In this case it looks like we're trying to include support files as a means of reuse, and that doesn't work because of the name mangling. I'm personally tracking some tickets that involve how information can be lost across the file barrier, so I totally get that it's is a problem in Flow. Where I am confused about is how any of these file-barrier issues exist in our use case here. The context I've been working with here is that we're trying to include local files and flow-typed's require/import mechanism is mangling those names as it happens, which breaks the import. Is there more going on here?
Thanks for assisting with clarity for me here!
@cprodescu Avoiding name collisions seems like a legit concern, but I think I'd rather see us version our files (./some-component_v0.33.x.js) and we just import that file by its full name. If we're feeling brave we can name the file without any kind of version information assuming it will work across all versions, and split it apart when the need arises. It sounds like everyone on the thread is in agreement with that (or at least ditching the mangling), so I'm just being verbose as to how we'd address the original concern of the mangling, I think.

Thank you @AndrewSouthpaw!

Sure thing! We'll see how it goes, there's still a chance we'll need to revisit it some day, but hopefully this is a decent strategy to move us forward. Thanks for opening the issue.


feat: proper passenger position handling for most entities, fix passengers not always being applied to the client, don't sync passengers

Fix description: Passengers would get their updateNewViewer() forcibly called by the passenger loop in Entity#updateNewViewer, this applies the required packets correctly in theory. However, after this loop runs, the viewer engine still adds all the entities automatically which calls updateNewViewer again: sends a new spawn packet, overriding the passenger packets. To fix this I opted to use addViewer rather than updateNewViewer. Then, in the view engine I ensured that if the player can already see an entity, it returns early (senseless to call this method twice).
Comments on proper passenger position handling: Unfortunately, almost every vanilla entity has specific hardcoded values/actions for where to offset passenger entities. I've implemented a baseline for getting the offset values based on the passed in entity.

Only a few entities are missing proper implementation, in general the server now has a better grip on where passengers are (for applying particles and collision handling to them, this change doesn't affect entity position visually on the client)

Ditching the complex solution after a discussion with matt about the new changes coming with 1.20.5 to make this much easier.
Just making a slight change to the passenger height logic for now to reflect the general changes made in 1.20 to vehicle heights


Bower can't download last stable version (4.14.30)

Last specified tag is 4.7.14, but stable version is 4.14.30.

bower info eonasdan-bootstrap-datetimepicker

shows this:
Available versions:
  - 4.7.14
  - 4.0.0
  - 3.1.3
  - 3.1.2
...

Just created a release, which I forgot to do last night. See if that works

Thank you for you work (new stable version)!
It works!
I've been using this!

By the way, I created the pull-request for the marker in td.today.
Can you look at this?


Declaring a web worker with a comma after the last object breaks the build

🐞 Bug report
Command (mark with an x)

- [ ] new
- [x] build
- [x] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Is this a regression?
Don't know
Description
I'm using a web-worker like the following:
new Worker('./enigma-bombe.worker', {
  name: 'enigma-worker',
  type: 'module'
}),

If I change it to:
new Worker('./enigma-bombe.worker', {
  name: 'enigma-worker',
  type: 'module',
}),

(notice the last comma)
It breaks the app while it's valid code.
The generated code looks like the following
return Object(observable_webworker__WEBPACK_IMPORTED_MODULE_4__["fromWorkerPool"])(() => new Worker(__webpack__worker__1, {
  name: 'enigma-worker',
  ,
}),

🔬 Minimal Reproduction
Create a web-worker, set the name and type, add a comma after the type.
🔥 Exception or Error

Uncaught SyntaxError: Unexpected token ,

ERROR Error: Uncaught (in promise): ChunkLoadError: Loading chunk decrypt-decrypt-module failed.
(missing: http://localhost:4200/decrypt-decrypt-module.js)
ChunkLoadError: Loading chunk decrypt-decrypt-module failed.
(missing: http://localhost:4200/decrypt-decrypt-module.js)
    at Function.requireEnsure [as e] (bootstrap:126)
    at loadChildren (app.module.ts:15)
    at RouterConfigLoader.loadModuleFactory (router.js:6401)
    at RouterConfigLoader.load (router.js:6377)
    at MergeMapSubscriber.project (router.js:4584)
    at MergeMapSubscriber._tryNext (mergeMap.js:46)
    at MergeMapSubscriber._next (mergeMap.js:36)
    at MergeMapSubscriber.next (Subscriber.js:49)
    at Observable._subscribe (subscribeToArray.js:3)
    at Observable._trySubscribe (Observable.js:42)
    at resolvePromise (zone-evergreen.js:793)
    at resolvePromise (zone-evergreen.js:752)
    at zone-evergreen.js:854
    at ZoneDelegate.invokeTask (zone-evergreen.js:400)
    at Object.onInvokeTask (core.js:39687)
    at ZoneDelegate.invokeTask (zone-evergreen.js:399)
    at Zone.runTask (zone-evergreen.js:168)
    at drainMicroTaskQueue (zone-evergreen.js:570)
    at ZoneTask.invokeTask [as invoke] (zone-evergreen.js:485)
    at invokeTask (zone-evergreen.js:1596)

🌍 Your Environment

Angular CLI: 8.2.2
Node: 12.4.0
OS: linux x64
Angular: 8.2.2
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.802.2
@angular-devkit/build-angular     0.802.2
@angular-devkit/build-optimizer   0.802.2
@angular-devkit/build-webpack     0.802.2
@angular-devkit/core              8.2.2
@angular-devkit/schematics        8.2.2
@angular/cdk                      8.1.3
@angular/material                 8.1.3
@ngtools/webpack                  8.2.2
@schematics/angular               8.1.1
@schematics/update                0.802.2
rxjs                              6.5.2
typescript                        3.4.5
webpack                           4.38.0

@maxime1992
It can be closed. That was an issue of the worker-plugin and it was fixed (https://github.com/GoogleChromeLabs/worker-plugin/pull/49) and published in 4.0.0.
The CLI uses 4.0.2 right now:
https://github.com/angular/angular-cli/blob/9de389fb770568919d6f2465cc155e0835926eaf/packages/angular_devkit/build_angular/package.json#L72

Closing this, as @arturovt suggested, this is caused by upstream dependency and is now fixed.


Casts are not properly called on repository update

Environment
No response
Reproduction
On https://github.com/Graphmaxer/pinia-orm/tree/fix/cast-on-update with test feature/casts/custom_casts
Describe the bug
When updating an existing model inside a repo via save the cast is not properly called
Additional context
No response
Logs
No response

This looks like the issue is coming from this change https://github.com/Codedredd/pinia-orm/commit/4ecf93f43b2dcfb98864f7c791a3d70c8be58a99#diff-400250a2f26ef8d1fdaaa2a3757bfdf1dd8fda2c402d89c0670a7d7c110b260bL840, the new data record is not hydrated when upding an existing entry

@Graphmaxer This was somehow also more a feature than a bug. I didn't exspect custom classes as values with their own serialzer.

Thanks you a lot <3 We got this use case in our migration to vue/vuex-orm to pinia/pinia-orm. Maybe we should document this feature in the documentation ?


Genetic Algorithm

I have a proposal of the implementation of a Genetic Algorithm - AG. Actually I already started to implement one, but I didn't finish it yet.
For mre information about what is that see this link: https://en.wikipedia.org/wiki/Genetic_algorithm
An AG has a lot of functionalities and I'm planning develop that using TDD in order to make a safe development
This algorithm willbe so helpfull for this library.

Hi!
Did you know simpleai already has genetic algorithms? Are we speaking of the same, or is it some other variation?: https://simpleai.readthedocs.io/en/latest/local_search_problems.html#special-case-genetic-search

I suppose it the same thing. I didn't know that it already exist. Thank you for point out that.

Be free to review if there is anything that can be improved! And thanks for the willingness to contribute :)

Sure. I will

dsdfvcxvxvxcvxrbgsbasbrt


Fails if there's anything in-between frame-range and extension

Last version of the master branch:
The fileseq.findSequenceOnDisk method has trouble finding a sequence for a file sequence such as:
img#_suffix.jpg
will not be recognized. Even a single character after the frame-range specifier will make it fail, e.g:
 img#_.jpg
Removing the suffix makes it work again:
img#.jpg

It is true that fileseq does not consider that case a valid sequence format. The stance the library has taken is that it has to establish some form of opinions about acceptable sequence formats in order to keep parsing manageable and not get into complicated logic. I am not sure if we would expand the parsing rules to accept this case. The rule in this case is that we expect frame numbers to be the last characters before the extension component.
Is it common in pipelines to support sequences that don't follow these conventions? I have not encountered the usage of this convention at my current or previous studios.

I understand this might not fall into the accepted formatting of filenames for some pipelines. In this case, I think it should at least be documented in the README in a limitations section.


fix: set auth-method for OAuth integration clients

Issue
The additional tabs (Connections, and Scopes) for OAuth connections were not displayed.
This is because the nullish coalescing operator takes precedence over ternary operator. So, the auth-method type and name were not set properly when the auth-method is OAuth.
Operator Precedence Explanation: Stack Overflow
✅ Checklist

[x] I have followed every step in the contributing guide
[x] The PR title follows the convention.
[x] I ran and tested the code works

Testing
Verified that the additional tabs are displayed for OAuth integrations

Changelog

Wrap the auth-source ternary check in parenthesis to increase operator precedence

Screenshots
Before

After

💯

This is great @hmacr – I've manually incorporated these changes into main because we made quite a lot of other changes so the merge was painful


feat: samples for Confluent operator tutorial

@aburhan

For Kafka/Confluent-related issues, do we have a Googler that can debug any issues/bugs we'll encounter in these samples (in the future)?

What do you think?

@aburhan

For Kafka/Confluent-related issues, do we have a Googler that can debug any issues/bugs we'll encounter in these samples (in the future)?

What do you think?

@NimJay I will be responsible for issues and bugs in the future

Note: If the cla/google check is failing because of my personal email address, please ignore it (i.e., feel free to merge).
It's currently (at the time of commenting) passing because I have requested an override via Google-internal link: go/gh-prinfo.
Sorry for the inconvenience!


Add information on first COBOL challenge

Added information on the first COBOL challenge to the guide - #138 adds the source code and JCL.

OK, done


utils compile error

_[ 38%] Built target sysrepo-cpp
[ 44%] Building CXX object CMakeFiles/DoctestIntegration.dir/tests/doctest-integration.cpp.o
[ 50%] Building CXX object CMakeFiles/DoctestIntegration.dir/tests/utils.cpp.o
/home/vmware/sysrepo-cpp-master/tests/utils.cpp:14:10: fatal error: trompeloeil.hpp: No such file or directory
14 | #include <trompeloeil.hpp>
|          ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [CMakeFiles/DoctestIntegration.dir/tests/utils.cpp.o] Error 1
make[1]: *** [CMakeFiles/DoctestIntegration.dir/all] Error 2
make: *** [all] Error 2
_
Does it depend from https://github.com/rollbear/trompeloeil ? Should I install that one as well?

Thanks for reporting this, our docs were incomplete. Here are the patches if you would like to test them:

https://gerrit.cesnet.cz/c/CzechLight/sysrepo-cpp/+/5742
https://gerrit.cesnet.cz/c/CzechLight/sysrepo-cpp/+/5743


Is there an idiomatic way to validate the contents (keys & values) of a map?

I appreciate garde.  It has made validating structures not just easier, but a natural part of my development.  However, I've run into a situation where I need to validate a HashMap (actually a DashMap) that is a member of a struct.  If I try to validate it directly, it fails because there is no Display implementation for DashMap.  I suspect I may be able to write a custom validator function...maybe?  Or..I could wrap the DashMap in a newtype and implement Validate on that type manually...maybe?  But, is there an existing best way to validate the keys and values of a map?  I would love to be able to use the validation rules built into garde on the keys and values in the map and if I write custom validation code, I lose all of that.
Thanks in advance.

Validating keys is not possible right now without custom validators, and the only way you can validate the values in a HashMap is via #[garde(dive)], which is definitely easier now with #[garde(transparent)], but still not great if all you have is a String value or something along those lines.
One possible improvement here would be to add a modifier similar to inner, but have it apply the validation rules to the key of a keyed collection. Rough idea:
struct Foo {
    #[garde(
        key(length(min = 3)),    // applied to `K`
        inner(length(min = 10)), // applied to `V`
    )]
    bar: HashMap<K, V>,
}

The error message would probably look like:
Foo {
    bar: HashMap {
        "a": "test"
    }
}

value.bar: invalid key "a", length is lower than 3
value.bar.a: length is lower than 10

As for validating a DashMap, right now you need to use a newtype to be able to implement the various validation traits which enable Garde's functionality. I'm not totally sure if there's a way out here other than adding a bunch of feature-gated impls to either library.
One thing I've seen done by serde is to implement a way to "adapt" one type to be validated as if it was another. Once again, here's a very rough idea:
mod dashmap_adapter {
    // the `adapt` modifier will cause the proc macro to bypass the usual trait-based validation
    // logic, and instead rely on functions present in this module:

    // for example, here's how you'd adapt the `inner` modifier to work on `DashMap`:
    mod inner {
        fn apply<K, V, F>(map: &DashMap<K, V>, f: F)
        where
            K: PathComponentKind,
            F: FnMut(&V, &K),
        {
            for (key, value) in map.iter() {
                f(value, key)
            }
        }
    }
}

struct Foo {
    #[garde(
        key(length(min = 3)),
        inner(length(min = 10)),
        adapt(dashmap_adapter), // use the `dashmap_adapter` module
    )]
    bar: DashMap<K, V>, // none of the trait impls exist in `garde` or `dashmap`
}

Now instead of calling garde::rules::inner::apply on the bar field, it will call dashmap_adapter::inner::apply. The module is reusable across your entire application, doesn't require using newtypes, and you still get most of the benefit of garde.

Thank you for your in-depth response.  I'll dig into it and hopefully have something I can share back to garde to help others when I'm done.


#2060 Open Expression Editor in a Tearsheet.

Fixes: #2060
Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

The styling isn't correct.  When in a tearsheet with the gray background the controls should be white.

The styling isn't correct. When in a tearsheet with the gray background the controls should be white.

I have updated PR to include white background (field-01) in code editor, table rows and also in dropdown. Please review.

@matthoward366 While working on the Expression Builder, I have observed the following issue:.
When we try to enter something after validating an incorrect expression, it throws an error. Please refer to the recording below.
I have tested this on elyra
https://github.com/user-attachments/assets/082910d5-6cd1-47de-8eea-cfd01588adf1
When I try to replicate this locally, I encounter a RangeError: Selection points outside of document.
Could you please confirm whether this is a known issue?

This isn't a known issue.  This will need a new issue to get fixed assuming this is outside of your changes.

This isn't a known issue. This will need a new issue to get fixed assuming this is outside of your changes.

Thanks for confirming. I have raised a new issue (https://github.ibm.com/NGP-TWC/wml-canvas-planning/issues/16078) as this error isn't related to changes in this PR.

Hi @matthoward366 I have updated PR as per below comments.

Removing the spacing around the context switcher to compact that a little.
When selecting fields the data table be moved to the right to give more room for the field names.

Regarding dropdown background I have observed the same issue when I try to open selectColumn_paramDef.json in Tearsheet. So whenever Dropdown is opened in a Tearsheet Layer is not getting applied to the dropdown.

@srikant-ch5 can you add padding to the bottom here. Should be the same as the sides.

Lets reduce the number of rows showing the the table.  Maybe 5 instead of 7.  This should help reduce the amount of scrolling needed.
The background of the search looks wrong.
Should look more like this

The background of the search looks wrong.
Should look more like this

@matthoward366 I can see other tables in tearsheet also have similar styling for search.

Styling for different controls in tearsheet is hardcoded over here https://github.com/elyra-ai/canvas/blob/487c46d49d096d8d82bdf9217cefec1448ac70d7/canvas_modules/common-canvas/src/common-properties/panels/tearsheet/tearsheet.scss#L62
Should I add table search and dropdown among other controls classlist or should we track this under a new issue ?

Should I add table search and dropdown among other controls classlist or should we track this under a new issue ?

Let's create a new issue for this so it's fixed everywhere.


Keep threshold settings to default values upon creating new (Cloud)

I suggest to keep action, category etc threshold settings to default when creating new. For example, when setting a threshold to 10 from default, the new one you create will then default at 10. It's easy to forget that optimal would be 0.5 for others, and have everything at 10, not realizing it. So, if you edit a threshold to to, another words upon creating a new, it should start at 0.5 again, or w.e is best by default.

I can't reproduce this one. When I set the category threshold to some value and create a new category it defaults to 50%

On a new agent, create a category. Put in the name and hit save. It automatically goes to 0.5 all the way to the bottom.

what browser? This doesn't happen for me.

Are you sure you're running the latest? We did have an issue with this, but it got fixed some time ago. Though it's possible it's still happening under certain circumstances.

Firefox for me. As for the latest, I'm not sure, I'm running on the cloud instance, so whatever you have me on.

This is an old issue. It was closed, please use the latest version.


Fix MaxFreeAllocator.allocateBlock

What changes are proposed in this pull request?
Fix the return value of MaxFreeAllocator.allocateBlock.
Why are the changes needed?
Fix https://github.com/Alluxio/alluxio/issues/16106
Does this PR introduce any user facing changes?
No

alluxio-bot, merge this please


Add google tag manager (GTM) to theme

to use,  just add the following to config.toml
[params]
google_tag_manager = "<GTM code>"

If not defined, the generated page will not include the GTM snippets.

Thank you but not everybody want to use this service. So i can't put this code by default.

It's entirely optional.
If the param doesn't exist in the config file,  it doesn't get added to
their rendered files?
On Wed, Jul 22, 2020 at 4:59 AM JeffProd<EMAIL_ADDRESS>wrote:

Thank you but not everybody want to use this service. So i can't put this
code by default.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Tazeg/hugo-blog-jeffprod/pull/18#issuecomment-662333826,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGEJCV6AEHOYHO5CYFATYDR42S7DANCNFSM4PC73S6Q
.

--
Jeff Palmer
Palmer IT Consulting, LLC.
https://PalmerIT.net


Should actions be executed before or after updating the current state?

Hi! I'm really enjoying this library! I was wondering what the best strategy is for executing actions. In the example on the 'complete guide' page you execute actions before updating the value of currentState, however I'm running into a problem where I have an action that can change the current state, but because currentState is set after this action runs, the action has no effect. Any thoughts? Are there any side effects in executing actions after updating the state? Thanks!

Do you have a project or some code you should point to?
In general, nothing should ever modify the current finite state (e.g., loading, success, etc.) except from the result of calling .transition().
I will be revising the guide (and coming up with a different set of complete examples), as you're right, the changed finite state should be reflected in the actions.

I can post some code if you want but my question is more about how and when you think actions should be executed in general. If we take the dispatch function below (from the docs), any change in state caused by an action will be negated by the last line when the forEach loop ends, right? What I'm trying to understand is what the correct end state should be, the one which is initially assigned to nextState, or some state resulting from an action which recursively calls dispatch... I'm not sure I'm making much sense though :)
dispatch (event) {
  const nextState = machine.transition(currentState, event)
  nextState.actions.forEach(actionKey => {
    const action = actionMap[actionKey]
    if (action) action(event, dispatch)
  })
  currentState = nextState.value
}

That depends. So, an action isn't like a Redux "action" - those are more what are considered events in statecharts.
Here, an action can do one of two things:

Modify external state (any state except for the finite nextState)
Dispatch actions asynchronously

The async part is key there - as long as they're async, you won't run into the concurrency issues you're running into now. For most intents and purposes, just keep those two things in mind and you'll be fine.

However, if you want them to synchronously queue up events from actions, then use a queue 😉 In SCXML, there's something called <send> that formalizes this (worth reading). Here's what that might look like:
dispatch (event) {
  let nextState = machine.transition(currentState, event)
  const queue = [];

  // assume object actions: { type: '...' }
  nextState.actions.forEach(action => {
	if (action.type === 'send') {
	  queue.push(action.event);
	} else {
	    const execAction = actionMap[action.type];
	    if (execAction) execAction(event, dispatch); // async dispatch only
	}
  });

  // run through the queued events
  while (queue.length) {
	nextState = machine.transition(nextState, queue.shift());
  }

  currentState = nextState.value
}

You can do this now. But there are two things coming soon that will help with this:

In xstate 3.2, there's an official actions.send(event, data) creator
The xstate-interpreter, which is not released yet, will handle queued events in a similar way.

Thanks a lot for the explanation! I will experiment with your suggestions and I look forward to 3.2!

Hi,
I am confused about the part of your code where you say it is asynchronous @davidkpiano
When I use the function below, the order of execution is synchronous:

dispatch gets called
every action gets executed
current state from the first call of dispatch is changed

function dispatch(event) {
    var nextState = machine.transition(currentState, event);

    nextState.actions.forEach(function(actionKey) {
        var execAction = actions[actionKey];
        if (execAction) execAction(event, dispatch); // async dispatch only
    });

    currentState = nextState.value;
}

For the actions to be called asynchronously, the timeout has to be used, then the order of execution is as follows:

dispatch gets called
current state is changed
every action gets executed

function dispatch(event) {
    var nextState = machine.transition(currentState, event);

    nextState.actions.forEach(function(actionKey) {
        var execAction = actions[actionKey];
        if (execAction) {
            setTimeout(function (action) {
                action(event, dispatch);
            }.bind(null, action), 0);
        }
    });

    currentState = nextState.value;
}

Is your code indeed synchronous, or is the problem somewhere else?
I don't use arrow functions, because my code has to run in browser (IE 11 included :poop:). But even if I used them and tested it in Chrome, the execution was still synchronous.
Is there maybe some difference between node.js and chrome (even if node is chrome's js engine)?
Thank you.

Execution is synchronous, but any events sent (dispatched) from inside an action must be assumed to be asynchronous.

Ah, ok got it 😄 I was really confused there for a bit.
Thanks for an answer and for a great piece of code 👍
I watched your JSConf presentation yesterday and today after some thinking I decided to re-write one module (similar to online bank contract application form, so it really needs FSA) from scratch, as I was tasked to do some extensive changes on it anyways.
I really hope it makes the code easier to understand and test.
Only thing I need to figure out now, is how (or when) to properly call actions like showNextButton when you go from step1 to step2, mainly when step1 has a 2 step validation (js and server side, but as they do the same thing, I think I will use server side only) which either changes the state back to step1 or goes to step2.
TBH I don't know if my structure shouldn't be written differently. I am not sure if I should ask here, or on StackOverflow.

You can ask here - it's helpful for knowing what to update in the documentation.
It seems like step1 should have a step1.pending (or something similar) state where it's waiting for validation. Then validation will respond (from a promise or otherwise) and that event will determine if step1.pending transitions back to step1.(some state) or step2.

This is my machine right now (its a bit simplified, real form has 6 tabs/steps), also I will probably drop the main idle state (I don't think its needed). The code just seems a bit too clunky to me.
Right now every step has 2 child steps idle and validate, where idle state can only call validate, which will either go back to idle state on ERROR or pass the even to the parent, which handles the NEXT and PREV events (except first and last step, which don't have PREV and NEXT states respectively).
Also depending on subject type (legal entity or not) you either go from step1 to step2 or step3 and vice versa.
Also, right now, it always calls hidePrevBtn then showPrevBtn and then again hidePrevBtn...
var contractMachine = xstate.Machine({
    key: 'contract',
    initial: 'idle',
    states: {
        idle: {
            on: {
                INIT: 'step1'
            }
        },
        step1: {
            initial: 'idle',
            states: {
                idle: {
                    on: {
                        NEXT: 'validate'
                    }
                },
                validate: {
                    on: {
                        ERROR: 'idle'
                    },
                    onEntry: ['validateStep1']
                },
            },
            on: {
                NEXT: {
                    step2: {
                        cond: function (extState, event) {
                            return event.subject !== 'SE';
                        }
                    },
                    step3: {
                        cond: function (extState, event) {
                            return event.subject === 'SE';
                        }
                    }
                }
            },
            onEntry: ['hidePrevBtn'],
            onExit: ['showPrevBtn']
        },
        step2: {
            initial: 'idle',
            states: {
                idle: {
                    on: {
                        NEXT: 'validate'
                    }
                },
                validate: {
                    on: {
                        ERROR: 'idle'
                    },
                    onEntry: ['validateStep2']
                },
            },
            on: {
                PREV: 'step1',
                NEXT: 'step3'
            }
        },
        step3: {
            initial: 'idle',
            states: {
                idle: {
                    on: {
                        NEXT: 'validate'
                    }
                },
                validate: {
                    on: {
                        ERROR: 'idle'
                    },
                    onEntry: ['validateStep3']
                },
            },
            on: {
                PREV: {
                    step1: {
                        cond: function (extState, event) {
                            return event.subject === 'SE';
                        }
                    },
                    step2: {
                        cond: function (extState, event) {
                            return event.subject !== 'SE';
                        }
                    }
                },
                NEXT: 'step4'
            }
        },
        step4: {
            initial: 'idle',
            states: {
                idle: {
                    on: {
                        NEXT: 'validate'
                    }
                },
                validate: {
                    on: {
                        ERROR: 'idle'
                    },
                    onEntry: ['validateStep4']
                },
            },
            on: {
                PREV: 'step3'
            },
            onEntry: ['hideNextBtn'],
            onExit: ['showNextBtn']
        }
    }
});

Ps.: I tried to use the code in your Statechart Visualizer on CodePen, but its not supporting the conditional transitions.


v8 series missing

The nodeenv registry appears to be missing releases from the latest stable Node.js series, v8:

[ ] 8.9.1
[ ] 8.9.0
[ ] 8.8.1
[ ] 8.8.0
[ ] 8.7.0
[ ] 8.6.0
[ ] 8.5.0
[ ] 8.4.0
[ ] 8.3.0
[ ] 8.2.1
[ ] 8.2.0
[ ] 8.1.4
[ ] 8.1.3
[ ] 8.1.2
[ ] 8.1.1
[ ] 8.1.0
[ ] 8.0.0

As a workaround, users can either manage Node.js versions with nvm, or stick with the Node.js v6 series for now.

All of these have been available within days of their release: https://github.com/nodenv/node-build/tree/master/share/node-build

Curious, why does my nodenv report these as missing?
Do I need to update nodenv itself? I'm using nodenv 1.0.0.

https://github.com/nodenv/nodenv/wiki/FAQ#available-node-versions-are-out-of-date

I just added that wiki entry to help others that have this question, too


fix #1763 baiji-group=264-3

Ⅰ. Describe what this PR did
add unit-test for ListVolumeName #1763
Ⅱ. Does this pull request fix one issue?

fixes #1763
Ⅲ. Describe how you did it
implement function ListVolumeName in core_test.go
Ⅳ. Describe how to verify it
unit test, run go test -test.run ListVolumeName
Ⅴ. Special notes for reviews
function ListVolumeName() depends on ListVolumes(), and expect to get the filtered name list. However, function ListVolumes() doesn't implement filtering operation, neither does ListVolumeName().

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #1795 into master will increase coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1795      +/-   ##
==========================================
+ Coverage    56.3%   56.39%   +0.08%
==========================================
  Files         200      200
  Lines       15657    15657
==========================================
+ Hits         8816     8829      +13
+ Misses       5745     5734      -11
+ Partials     1096     1094       -2

Flag
Coverage Δ

#critest
33.49% <ø> (+0.01%)
:arrow_up:

#integrationtest
37.67% <ø> (+0.01%)
:arrow_up:

#unittest
20.37% <ø> (+0.04%)
:arrow_up:

Impacted Files
Coverage Δ

daemon/logger/jsonfile/utils.go
71.54% <0%> (-1.63%)
:arrow_down:

cri/v1alpha2/cri.go
66.13% <0%> (+0.17%)
:arrow_up:

daemon/mgr/container.go
53.46% <0%> (+0.31%)
:arrow_up:

ctrd/container.go
50.17% <0%> (+1.37%)
:arrow_up:

storage/volume/core.go
62.43% <0%> (+2.92%)
:arrow_up:


Consider raw dylibs for Windows

Noticed https://github.com/rust-lang/rust/issues/58713 for raw-dylib linkage, might be worth investigating whether it can remove the need for the link hooks on Windows.

I think we can close this for now, the libloading approach merged in #14 seems pretty good.


@com_google_protobuf//:well_known_types_py_pb2_genproto is not in systemlibs

Click to expand!
Issue Type
Build/Install
Have you reproduced the bug with TF nightly?
Yes
Source
source
Tensorflow Version
2.12.0
Custom Code
No
OS Platform and Distribution
Linux
Mobile device
No response
Python version
3.10
Bazel version
5.3.0
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
https://github.com/tensorflow/tensorflow/commit/84f40925e929d05e72ab9234e53c729224e3af38 adds a new dependency @com_google_protobuf//:well_known_types_py_pb2_genproto as follows:
https://github.com/tensorflow/tensorflow/blob/df574a8a1f9447ee0399e019c1a9cf67c11bfe99/tensorflow/tsl/platform/default/build_config.bzl#L409
However, this target is not added to tensorflow/third_party/systemlibs/protobuf.BUILD. So when building TensorFlow with export TF_SYSTEM_LIBS=com_google_protobuf, the following error occurs:
ERROR: tensorflow/compiler/xla/BUILD:83:17: no such target '@com_google_protobuf//:well_known_types_py_pb2_genproto': target 'well_known_types_py_pb2_genproto' not declared in package '' defined by external/com_google_protobuf/BUILD.bazel and referenced by '//tensorflow/compiler/xla:xla_data_proto_py_genproto'

Standalone code to reproduce the issue
export TF_SYSTEM_LIBS=com_google_protobuf
./configure
bazel build //tensorflow/tools/pip_package:build_pip_package

Relevant log output
ERROR: tensorflow/compiler/xla/BUILD:83:17: no such target '@com_google_protobuf//:well_known_types_py_pb2_genproto': target 'well_known_types_py_pb2_genproto' not declared in package '' defined by external/com_google_protobuf/BUILD.bazel and referenced by '//tensorflow/compiler/xla:xla_data_proto_py_genproto

Hi @njzjz ,
Thanks for your time in reporting the issue. I have replicated the reported behaviour with current master branch.Attached logs below for reference.
(tf) suryanarayanay@surya-ubuntu-22-04:~$ export TF_SYSTEM_LIBS=com_google_protobuf
(tf) suryanarayanay@surya-ubuntu-22-04:~$ cd tensorflow
(tf) suryanarayanay@surya-ubuntu-22-04:~/tensorflow$ git checkout master
Updating files: 100% (10666/10666), done.
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
(tf) suryanarayanay@surya-ubuntu-22-04:~/tensorflow$ bazel build //tensorflow/tools/pip_package:build_pip_package
/bin/bash: /home/suryanarayanay/miniconda3/lib/libtinfo.so.6: no version information available (required by /bin/bash)
Starting local Bazel server and connecting to it...
INFO: Options provided by the client:
  Inherited 'common' options: --isatty=1 --terminal_columns=124
INFO: Reading rc options for 'build' from /home/suryanarayanay/tensorflow/.bazelrc:
  Inherited 'common' options: --experimental_repo_remote_exec
INFO: Reading rc options for 'build' from /home/suryanarayanay/tensorflow/.bazelrc:
  'build' options: --define framework_shared_object=true --define tsl_protobuf_header_only=true --define=use_fast_cpp_protos=true --define=allow_oversize_protos=true --spawn_strategy=standalone -c opt --announce_rc --define=grpc_no_ares=true --noincompatible_remove_legacy_whole_archive --enable_platform_specific_config --define=with_xla_support=true --config=short_logs --config=v2 --define=no_aws_support=true --define=no_hdfs_support=true --experimental_cc_shared_library --experimental_link_static_libraries_once=false --incompatible_enforce_config_setting_visibility
INFO: Reading rc options for 'build' from /home/suryanarayanay/tensorflow/.tf_configure.bazelrc:
  'build' options: --action_env PYTHON_BIN_PATH=/home/suryanarayanay/miniconda3/envs/bazel2/bin/python3 --action_env PYTHON_LIB_PATH=/home/suryanarayanay/miniconda3/envs/bazel2/lib/python3.9/site-packages --python_path=/home/suryanarayanay/miniconda3/envs/bazel2/bin/python3
INFO: Reading rc options for 'build' from /home/suryanarayanay/tensorflow/.bazelrc:
  'build' options: --deleted_packages=tensorflow/compiler/mlir/tfrt,tensorflow/compiler/mlir/tfrt/benchmarks,tensorflow/compiler/mlir/tfrt/jit/python_binding,tensorflow/compiler/mlir/tfrt/jit/transforms,tensorflow/compiler/mlir/tfrt/python_tests,tensorflow/compiler/mlir/tfrt/tests,tensorflow/compiler/mlir/tfrt/tests/ir,tensorflow/compiler/mlir/tfrt/tests/analysis,tensorflow/compiler/mlir/tfrt/tests/jit,tensorflow/compiler/mlir/tfrt/tests/lhlo_to_tfrt,tensorflow/compiler/mlir/tfrt/tests/lhlo_to_jitrt,tensorflow/compiler/mlir/tfrt/tests/tf_to_corert,tensorflow/compiler/mlir/tfrt/tests/tf_to_tfrt_data,tensorflow/compiler/mlir/tfrt/tests/saved_model,tensorflow/compiler/mlir/tfrt/transforms/lhlo_gpu_to_tfrt_gpu,tensorflow/core/runtime_fallback,tensorflow/core/runtime_fallback/conversion,tensorflow/core/runtime_fallback/kernel,tensorflow/core/runtime_fallback/opdefs,tensorflow/core/runtime_fallback/runtime,tensorflow/core/runtime_fallback/util,tensorflow/core/tfrt/eager,tensorflow/core/tfrt/eager/backends/cpu,tensorflow/core/tfrt/eager/backends/gpu,tensorflow/core/tfrt/eager/core_runtime,tensorflow/core/tfrt/eager/cpp_tests/core_runtime,tensorflow/core/tfrt/gpu,tensorflow/core/tfrt/run_handler_thread_pool,tensorflow/core/tfrt/runtime,tensorflow/core/tfrt/saved_model,tensorflow/core/tfrt/graph_executor,tensorflow/core/tfrt/saved_model/tests,tensorflow/core/tfrt/tpu,tensorflow/core/tfrt/utils
INFO: Found applicable config definition build:short_logs in file /home/suryanarayanay/tensorflow/.bazelrc: --output_filter=DONT_MATCH_ANYTHING
INFO: Found applicable config definition build:v2 in file /home/suryanarayanay/tensorflow/.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1
INFO: Found applicable config definition build:linux in file /home/suryanarayanay/tensorflow/.bazelrc: --host_copt=-w --copt=-Wno-all --copt=-Wno-extra --copt=-Wno-deprecated --copt=-Wno-deprecated-declarations --copt=-Wno-ignored-attributes --copt=-Wno-array-bounds --copt=-Wunused-result --copt=-Werror=unused-result --copt=-Wswitch --copt=-Werror=switch --copt=-Wno-error=unused-but-set-variable --define=PREFIX=/usr --define=LIBDIR=$(PREFIX)/lib --define=INCLUDEDIR=$(PREFIX)/include --define=PROTOBUF_INCLUDE_PATH=$(PREFIX)/include --cxxopt=-std=c++17 --host_cxxopt=-std=c++17 --config=dynamic_kernels --distinct_host_configuration=false --experimental_guard_against_concurrent_changes
INFO: Found applicable config definition build:dynamic_kernels in file /home/suryanarayanay/tensorflow/.bazelrc: --define=dynamic_loaded_kernels=true --copt=-DAUTOLOAD_DYNAMIC_KERNELS
ERROR: /home/suryanarayanay/tensorflow/tensorflow/core/function/trace_type/BUILD:140:17: no such target '@com_google_protobuf//:well_known_types_py_pb2_genproto': target 'well_known_types_py_pb2_genproto' not declared in package '' defined by /home/suryanarayanay/.cache/bazel/_bazel_suryanarayanay/e93ef42332b258ebf8397106d59e39e3/external/com_google_protobuf/BUILD.bazel and referenced by '//tensorflow/core/function/trace_type:default_types_proto_py_genproto'
INFO: Repository typing_extensions_archive instantiated at:
  /home/suryanarayanay/tensorflow/WORKSPACE:15:14: in <toplevel>
  /home/suryanarayanay/tensorflow/tensorflow/workspace2.bzl:966:21: in workspace
  /home/suryanarayanay/tensorflow/tensorflow/workspace2.bzl:391:20: in _tf_repositories
  /home/suryanarayanay/tensorflow/third_party/repo.bzl:136:21: in tf_http_archive
Repository rule _tf_http_archive defined at:
  /home/suryanarayanay/tensorflow/third_party/repo.bzl:89:35: in <toplevel>
INFO: Repository wrapt instantiated at:
  /home/suryanarayanay/tensorflow/WORKSPACE:15:14: in <toplevel>
  /home/suryanarayanay/tensorflow/tensorflow/workspace2.bzl:966:21: in workspace
  /home/suryanarayanay/tensorflow/tensorflow/workspace2.bzl:875:20: in _tf_repositories
  /home/suryanarayanay/tensorflow/third_party/repo.bzl:136:21: in tf_http_archive
Repository rule _tf_http_archive defined at:
  /home/suryanarayanay/tensorflow/third_party/repo.bzl:89:35: in <toplevel>
INFO: Repository dill_archive instantiated at:
  /home/suryanarayanay/tensorflow/WORKSPACE:15:14: in <toplevel>
  /home/suryanarayanay/tensorflow/tensorflow/workspace2.bzl:966:21: in workspace
  /home/suryanarayanay/tensorflow/tensorflow/workspace2.bzl:431:20: in _tf_repositories
  /home/suryanarayanay/tensorflow/third_party/repo.bzl:136:21: in tf_http_archive
Repository rule _tf_http_archive defined at:
  /home/suryanarayanay/tensorflow/third_party/repo.bzl:89:35: in <toplevel>
ERROR: Analysis of target '//tensorflow/tools/pip_package:build_pip_package' failed; build aborted:
INFO: Elapsed time: 24.342s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (131 packages loaded, 168 targets configured)
    currently loading: tensorflow/python/compiler/tensorrt/test ... (4 packages)
    Fetching @rules_python; fetching
    Fetching ...python; Extracting /home/suryanarayanay/.cache/bazel/_bazel_suryanarayanay/e93ef42332b258ebf8397106d59e39e\
3/external/rules_python/temp12165787461814660505/rules_python-0.0.1.tar.gz
    Fetching https://storage.googleapis.com/mirror.tensorflow.org/github.com/GrahamDumpleton/wrapt/archive/1.14.1.tar.gz
    Fetching https://storage.googleapis.com/.../github.com/uqfoundation/dill/releases/download/dill-0.3.6/dill-0.3.6.zip
(tf) suryanarayanay@surya-ubuntu-22-04:~/tensorflow$

If you are willing to contribute to fix this please feel free to raise a PR.
Thanks!

If you are willing to contribute to fix this please feel free to raise a PR.

Sorry, I am not an expert in protobuf and am not sure how to fix this. That's the reason I submit the issue.
Below is what I tried to do
diff --git a/third_party/systemlibs/protobuf.BUILD b/third_party/systemlibs/protobuf.BUILD
index 4d05ab28d12..0bae75daa1d 100644
--- a/third_party/systemlibs/protobuf.BUILD
+++ b/third_party/systemlibs/protobuf.BUILD
@@ -111,3 +111,11 @@ py_library(
     visibility = ["//visibility:public"],
     deps = [dep + "_proto" for dep in proto[1][1]],
 ) for proto in WELL_KNOWN_PROTO_MAP.items()]
+
+py_proto_library(
+    name = "well_known_types_py_pb2",
+    include = ".",
+    srcs = [proto[1][0] for proto in WELL_KNOWN_PROTO_MAP.items()],
+    visibility = ["//visibility:public"],
+)
+

But I got this error:
# Execution platform: @local_execution_config_platform//:platform
In file included from ./tensorflow/tsl/platform/status.h:37,
                 from ./tensorflow/tsl/c/tsl_status_internal.h:19,
                 from ./tensorflow/c/tf_status_internal.h:19,
                 from tensorflow/c/tf_status.cc:18:
bazel-out/k8-opt/bin/tensorflow/tsl/protobuf/error_codes.pb.h:10:10: fatal error: google/protobuf/port_def.inc: No such file or directory
   10 | #include <google/protobuf/port_def.inc>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

@vam-google
CC- @learning-to-play

Hi @njzjz
Building with systemlibs is not officially supported. We neither support it nore have any jobs which test them. I would also strongly discourage anyone relying on those to perform a build. Also we are planning an even bigger changes soon (like hermetic python) which will break systemlibs build path even further.
Supporting those was purely on community (i believe @perfinion should know the most about it).
The following is just my personal opinion, not an official statement from TF team.
I don't think we can/should maintain systemlibs build path, as it is against hermetic philosophy of our build and prevents us from doing major changes in a build to simplify it (tensorflow build definitely needs a simplification). Also, we simply do not have any CI jobs to verify them, so they can break any time on any change. There is also no clear business need to have them.
I would strongly consider moving systemlibs to a separate fork and maintain it there, if it is possible to maintain, or drop otherwise. One of the reasons why it was not causing many problems before was that were were not making many updates in our deps before (protobuf dependency was 3 years old).

I don't think we can/should maintain systemlibs build path, as it is against hermetic philosophy of our build and prevents us from doing major changes in a build to simplify it (tensorflow build definitely needs a simplification)

I agree that the build needs simplification, but removing the possibility to build against systemlibs is very hostile to any redistribution effort. Tensorflow is already a beast, and just requiring that it revendors the world is neither a feasible nor reasonable strategy (from the packaging POV).

In a world where tensorflow was a stand-alone application that would be fine.  But as a library that gets used in other applications, not supporting external dependencies is problematic at best.   Especially when it comes to building custom operators against the the TF C++ library that have to use external dependencies, an inherent conflict exist with libtensorflow using its "vendored" deps via bazel while the operator has to pull in code linked to other versions of said dependencies.  It's already difficult enough as it is use external deps but I think making that work much better is far more conducive to TensorFlow "playing well with other" in an ecosystem where it doesn't control the entire stack than simply abandoning it entirely.
If it's a matter of build jobs and CI resources, I'd be happy to have a discussion out-of-band on providing that for the project.


Logtalk port of FCube exposes a parsing bug

Trying to load the Logtalk port of FCube using the main branch (520add92f7e07fba3e630afdfef6f89d1ac5a670) exposes a parsing bug:
?- {fcube(loader)}.
...
!     Syntax error: operator_expected
!       in term
!       in file /Users/pmoura/logtalk/ports/fcube/fcube.lgt at or above line 1559
...

The clause at that position is:
pruning(swff(t, (X & Y)), PRUNED) :-
	/*calcola il contesto congiuntivo della
	formula	*/ ccTAnd((X & Y), CCX), !,
		list_to_set(CCX, CCXSET),
		pruningSetSwff(CCXSET, CCXSetPruned),
		simplification(CCXSetPruned, CCXSetPruned, RES), !,
		list_to_set(RES, SET),
	/*
	La formula di input e' di segno T,
	quindi in SET ci devono essere solo
	sottoformule con segno T
	*/ fromSetTotSwff(SET, H),
		/*esegue semplificazioni booleane*/ valSWFF(H, PRUNED).

$ logtalk_tester -p trealla -s ~/Documents/Logtalk/
% Batch testing started @ 2022-08-14 23:26:21
%         Logtalk version: 3.58.0-b01
%         Trealla Prolog version: 2.0.7
%
% logtalk3/ports/fcube
%         12 tests: 0 skipped, 12 passed, 0 failed (0 flaky)
%         completed tests from object tests in 7 seconds
%         clause coverage 56.59574468085106%
%
% 1 test sets: 1 completed, 0 skipped, 0 broken, 0 timedout, 0 crashed
% 12 tests: 0 skipped, 12 passed, 0 failed (0 flaky)
%
% Batch testing ended @ 2022-08-14 23:26:28


Dragsmooth does not work but Drag does sometimes.

Robotgo version (or commit ref): v0.110.1
Go version: go version go1.22.2 darwin/arm64
Gcc version: 15
Operating system and bit: Sonoma 14.4.1 (23E224)
Resolution: 1728 x 1117

package main

import (
	"github.com/go-vgo/robotgo"
)

func main() {

	robotgo.Sleep(2)
	var sleep = 500
	robotgo.Move(900, 560)
	robotgo.MilliSleep(sleep)
	robotgo.Toggle("left")
	robotgo.MilliSleep(sleep)
	// robotgo.Drag(600, 560)
	robotgo.DragSmooth(600, 560)
	robotgo.MilliSleep(sleep)
	robotgo.Toggle("left", "up")
}

Description
DragSmooth will move the mouse correctly but doesn’t seem like it toggles down.
Commenting out robotgo.DragSmooth(600, 560) and enabling robotgo.Drag(600, 560) does work correctly.
Running robotgo.Drag in a for loop only works the first time.

Just a guess for drag smooth: If you check the DragSmooth function in robotgo.go, it toggles the mouse left and then calls MoveSmooth which creates a mouse move event and not a drag event in mouse/mouse_c.h, which for MacOS will be the wrong event type generated for Quartz (guessing this doesn't matter on other platforms?)


Add MQA/GQA support to FSDPA prompt attention

This PR adds support for MQA/GQA prompt attention used in Llama 70B. It handles case in which 5D tensors are being passed to prompt attention, with added dimension representing attention groups.

@mdvoretc-intel  @madamczykhabana please review


Documentation of subType issues (esp in relation to attendance)

I think that a series of discussions and decisions relating to VLE have left us with some unclear and/or contradictory documentation.
On this page - https://github.com/jiscdev/xapi/blob/1.0/vocabulary.md#activity-types - it says:
"Some examples of subTypes are included here. However, the list is not exhaustive, and it is the responsibility of the plugin to define the subType."
I think this should be tightened to make it clear that this statement is referring to the "Example Subtypes" components of the various tables. i.e. that none of the subheadings are sub-types, all are activity types. I think we should also indicate that sub-types are not defined in the recipes at all, i.e. its not so much that the lists are not exhaustive, they are purely indicative.
Now moving on to the attendance page: https://github.com/jiscdev/xapi/blob/1.0/recipes/attendance/attendance.md
A. the description for subType in the table for Object properties states:
"May be used to qualify what kind of timetabled event occurred using an IRI given on the vocabulary page.".
I think this is incorrect, as subType is for application-specific nuance.  I think this is a vestige of earlier work (see below, under B, where I use "vestige")
B. this lacks specific guidance on suitable values of object.definition.type; the reader is directed to the vocab page where they find: http://activitystrea.ms/schema/1.0/event, http://xapi.jisc.ac.uk/lecture, and http://id.tincanapi.com/activitytype/tutor-session.
I think the documentation should clearly state what values are permitted for attendance statements. I think some narrative would also be useful (outside the table for Object) which explains how object.definition.type and the http://xapi.jisc.ac.uk/event_timetabled are intended to be used together in typical scenarios. (and possibly the Purpose section should be explicit that the statement template does NOT cover pastoral sessions OR it should be explicit that it DOES cover them - i.e. we need to clarify whether a "learning activity" is scoped to subject matter or not, since it isn't accurate to assume that learning is only subject specific)
This brings me to what I think is a vestige of earlier work. I suspect that the lecture and tutor-session activity types were originally intended to be subTypes when we had an object.definition.type of (something like) "timetabled event". Now subtype is purely off-spec, I think we've not got the right list of activity types, and suggest they should be: http://activitystrea.ms/schema/1.0/event (to cover generic events), http://xapi.jisc.ac.uk/class (a group teaching event), and http://id.tincanapi.com/activitytype/tutor-session (a solo, or very small group, teaching event). The particular problem with the current set is that "Lecture" is not sufficiently generic for object definition type for a fair proportion of timetabled events, which could lead to (e.g.): some people just use lecture anyway, some people use http://activitystrea.ms/schema/1.0/event and subtypes for all events, some people use http://activitystrea.ms/schema/1.0/event for non-lectures and http://xapi.jisc.ac.uk/lecture for lectures. ARGHHH
Bottom line: the spec needs to be clear enough that when someone looks at different sets (from different sources) of data generated against it, they stand a fair chance of getting the same usage of object.definition.type, http://xapi.jisc.ac.uk/event_timetabled, and http://xapi.jisc.ac.uk/subType.
C. event_type_id appears to be redundant if we have possibilities object.definition.type which differentiate event types + the possibility to use subType. Two places to put basically the same info, with both being optional, is a recipe for needless variation in data, which places a burden on data consumers yet has no value to data suppliers.
I suggest event_type_id is removed in favour of subType.

I've tweaked the vocab doc because it wasn't very clear that we were talking about subTypes and not Activity types in that sentence you've highlighted.
However, I'll hold off the attendence statement template changes and add this to the weekly call to decide what we want to do.

I think this is largely a 1.0.1 issue as it relates to attendance.
Could we modify the milestone accordingly and create a new issue as required for 1.1 aspects

I've set the milestone to 1.0.1 - I don't think we unpicked this properly at the last call. I'll hold off any codebase changes until then

Weekly call: Adam to fork and edit some solutions

PR just made.
Approach has been to simplify to the core, but I hope without loosing necessary expressiveness and clarity in query/aggreagation.
subType is now "the" place to distinguish between kinds of timetabled event, with no specified vocab within

Looking at logging in and logging out: we currently have object.definition.type of http://activitystrea.ms/schema/1.0/application. Then we're supposed to use subType to indicate the application logged into. In vocabulary, we only have http://id.tincanapi.com/activitytype/mobile-app listed, but there's also http://id.tincanapi.com/activitytype/lms mentioned in an example. I'm sure there must be others. Is it worth collecting them and listing in the vocab?
So for now, that would give subTypes of http://activitystrea.ms/schema/1.0/application for logging in / out:
http://id.tincanapi.com/activitytype/mobile-app
http://id.tincanapi.com/activitytype/lms
We could add others as they arise?
Alan

At present we don't have a specific object.definition.type in the vle_resource_viewed statement template (https://github.com/jiscdev/xapi/blob/1.0.1/recipes/vle/Module-View.md). This means there is, or is likely to be, confusion between values for object.definition.type and subType.
Similar to the approach used by @arc12 re attendance object.definition.type for timetabled events, we could state in vle_resource_viewed that object.definition.type must be "http://xapi.jisc.ac.uk/vle/content" and define the resource in more detail in the subType. We have some subType examples for this in the vocabulary file (see "VLE content").
Alan

Commit https://github.com/jiscdev/xapi/commit/326b08038c708d879fcbba70fb47cca0ab92b966 shows update as previous message.

updated the  documentation to make it clear when a statment template uses a type


go-licenses/v2 proposal

Hi everyone, I'm building a rewrite of go-licenses that I propose to be go-licenses/v2.
Latest version on my dev branch: https://github.com/Bobgy/go-licenses/blob/main/v2.
Built binary releases: https://github.com/Bobgy/go-licenses/releases.
I initially built it as a new tool, but after chatting with @wlynch, we agreed that it would better be v2 of this tool rather than a new brand.
The major changes are:

only supports go modules, it can get license URL for modules without a need for you to vendor your dependencies.
do not assume each module has a single license, v2 will scan all the files for each module to find licenses.

For more details, refer to the README.
The new tool already addresses many open issues:

https://github.com/google/go-licenses/issues/32 vanity urls are curled and extracted to find the repo
https://github.com/google/go-licenses/issues/33 urls are now versioned according to go modules info
https://github.com/google/go-licenses/issues/38 now we use modules info, no custom parsing
https://github.com/google/go-licenses/issues/53 proper go modules support
https://github.com/google/go-licenses/issues/64 is a subproblem of proper go modules support

Deprioritized features

https://github.com/google/go-licenses/issues/39 we scan all files for licenses, so we can find UNLICENSE files too

and might help the following (but needs confirmation):

https://github.com/google/go-licenses/issues/18

Roadmap

[ ] https://github.com/google/go-licenses/pull/93
[ ] https://github.com/google/go-licenses/pull/97
[ ] CSV command

[x] Get modules/packages list

[x] P0 https://github.com/google/go-licenses/pull/82

[ ] https://github.com/google/go-licenses/pull/94
[ ] Config file customization & overrides

[ ] Smaller Issues

[ ] Emit a single license line with format like MIT / BSD-3-Clause when one file contains multiple licenses
[ ] P1 https://github.com/google/go-licenses/issues/73
[ ] P0 Handles go mod vendor
[ ] P0 Handles replace directives

Roadmap
Based on https://github.com/google/go-licenses/pull/67#pullrequestreview-686805811.

Unfortunately this is a very large change. I've left some initial comments as a first pass, but we'll likely need to do multiple iterations to resolve everything. Something that would greatly help me out for reviewing is if we could break this up into separate PRs. Here's some individual chunks I see that might be good places to break this apart:

I'll be sending several PRs to gradually implement the new tool instead.
Here, I'm using this issue to track progress.

Tasks

[ ] CSV command

[ ] Get licenses from binary
[ ] Use module cache for license source
[ ] Subfile license checking
[ ] Config file customization & overrides

[ ] Save command

[ ] Single licenses.txt output
[ ] Copy source folders for licenses that require so

[ ] Check command

Suggest: Source command: compress sources

I sent out a bunch of PRs, and a few more are waiting.
The rough idea is starting from a copy of v1 go-licenses tool and gradually replace each command with the new implementation.

@wlynch let's track general discussion in the main issue?

General question before I start reviewing these PRs in more details - are the changes to csv/check changes introducing any changes w.r.t input/outputs of the commands, or is this strictly an upgrade using module info?

No, there are no substantial changes to io.
There is a minor and optional output format change of adding a space after each comma to make it convenient to click the license URL in terminal/editor, do you have any concerns?
Also, git-url argument is removed, because it's no longer used. (But I am reconsidering this, because it may be useful for the main module.)

If there isn't anything that would break compatibility with existing clients, it might make sense to just merge these into v1. 👀
The bits I was primarily concerned with the original v2 proposal were the new commands and the different output format.

Well, the major breaking change is that we no longer support non go module projects. That's probably worth a v2. What do you think?

@wlynch https://github.com/google/go-licenses/pull/95, https://github.com/google/go-licenses/pull/101 and https://github.com/google/go-licenses/pull/94 are ready for review : )

Note, I created a github release in my fork in case anyone want to try the proposed new tool: https://github.com/Bobgy/go-licenses/releases/tag/v0.1.0-2022-01-20

Created a new release that can be installed from source: https://github.com/Bobgy/go-licenses/releases/tag/v2.0.0-alpha.0.
go get github.com/Bobgy/go-licenses/v2
go-licenses --help

to try my fork, it's mostly ready to use.

Is it somehow planned / possible to configure the check command, e.g. not only check for forbidden license but also for restricted? Or to configure the list of forbidden libraries? Or to at least print out the license type in the csv so I can grep for it? :)

Hi @oxisto, it's not in the scope. You might want to file a separate issue for this feature request.

Hi @oxisto, it's not in the scope. You might want to file a separate issue for this feature request.

got it. thanks for your answer!

Update, based on discussion with @wlynch, we think that the breaking change for GOPATH might not be noticeable, because we don't know anyone still using GOPATH now. Therefore, we will consider releasing the next version as v1.1 instead. There won't be an actual v2.
Let us know if you use go-licenses and still use GOPATH, we can consider making changes in this proposal an actual v2 when needed.

The major changes have been released as v1.1.
Future improvements will be tracked individually in issues.


i18n(zh-cn): Update error-reference.mdx

Description (required)
Update error-reference.mdx

Related issues & labels (optional)

#7846

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note
Locale

src/content/docs/zh-cn/reference/error-reference.mdx
Localization changed, will be marked as complete.
zh-cn

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


New version: GrafanaLabs.Grafana.OSS version <IP_ADDRESS>

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?
[X] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.6 schema?

Microsoft Reviewers: Open in CodeFlow

Hi @OfficialEsco,
This manifest adds Apps and Features entries that aren't present in previous PR versions. These entries should be added to the previous versions, or removed from this version.
(Automated response - build 840.)

Hey hey calm down with the copy-paste, this one was already fixed :smile:


WIP: Throw meaningful exception if New-PSDrive -Persist used on non-Windows platform

PR Summary
If New-PSDrive -Persist is used on a non-Windows platform, throw a PlatformNotSupportedException to make it clear why the command is failing.
Fix #8250.
PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

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

If the PR is work in progress, please add the prefix WIP: to the beginning of the title and remove the prefix when the PR is ready.

User-facing changes

[x] Not Applicable
OR
[ ] User-facing Documentation needed

[x] Issue filed - Issue link: #8250

Testing - New and feature

[x] Not Applicable or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

[ ] Add [feature] if the change is significant or affects feature tests

I think a right fix is to remove the parameter on Unix-s.

Interesting. I hadn't considered that.
First thoughts on the effects of removing the parameter on non-Windows platforms.
That would entirely prevent -Persist confusion while using the shell or writing a script on a non-Windows machine :thumbsup:
However, suppose someone writes a script calling New-PSDrive -Persist ... on Windows. Then they attempt to run the script on MacOS. Is it better for debugging to throw a ParameterBindingException or a PlatformNotSupportedException?
I think the PlatformNotSupportedException is self-explanatory. OTOH, maybe the ParameterBindingException would warrant an explanation in the cmdlet help. If so, do you keep the Persist parameter help to explain that on non-Windows machines, even though the parameter isn't available? Perhaps the scenario is contrived, but worth a thought at least.
In terms of implementation, I think removing the parameter would require wrapping the Persist property in a #if !UNIX directive. Therefore, every reference to that property would also need to be wrapped in a #if !UNIX directive. For many references, I would prefer not do that. Though In this case, there is only one reference to Persist and this cmdlet seems quite stable.
What do you think?

We already have an experience with removing unsupported cmdlets and parameters on Unix platforms. User will get "A parameter cannot be found ..." error that looks good.

Perfect example to follow 👌 Thank you.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: lukexjeremy sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@lukexjeremy Please open new issue in https://github.com/PowerShell/PowerShell-Docs to document the change.

@lukexjeremy Please reopen the PR and we will merge.

👍

@lukexjeremy Thanks for your contribution!
Come back with new contributions!

Thanks for your help too. Will do and looking forward to the next contribution.


[SMALLFIX] Slightly improve metrics string costs

Cherry pick of #7489

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/20354/
Test PASSed.


Fix DynamoDB concurrency

Currently the condition expression that is supposed to protect against concurrency violations will only be invoked when both commits are created using the exact same commit timestamp. This is because condition expressions are only checked against items with the same key. The fix for this is to remove the timestamp from the key, leaving the aggregateId, aggregate, context and streamRevision.

@developmentalmadness @Glockenbeat @jrutley ok for you?

Fine with me

Looks good to me!


Add vjps for exp, log, tan, sin, cos in the standard library.

This is just a stopgap until we get retroactive differentiation.
Note: "Double" versions of these functions re-export the builtin definitions and thus cannot have derivatives defined. There is a comment about Foundation preventing these from being "overlays" as well.
Made some improvements to: stdlib/public/TensorFlow/Gradients.swift

@swift-ci please test tensorflow

@swift-ci please test tensorflow macos

@swift-ci please test tensorflow macos

@swift-ci please test tensorflow macOS

@swift-ci please test tensorflow macOS


3DX: Bugfix and added new fields (level, personal goal)

Fixed layout bugs on firefox, and added new fields (level, personal goal)

Submission Checklist
Required

[x] The pull request title clearly contains the name of the sheet I am editing.
[x] The pull request title clearly states the type of change I am submitting (New Sheet/New Feature/Bugfix/etc.).
[x] The pull request makes changes to files in only one sub-folder.
[x] The pull request does not contain changes to any json files in the translations folder (translation.json is permitted)

New Sheet Details

The name of this game is: <3DX 1st Edition>  (i.e. Dungeons & Dragons 5th Edition, The Dresden Files RPG)

The publisher of this game is:  (i.e. Wizards of the Coast, Evil Hat)

The name of this game system/family is: <3DX> (i.e. Dungeons & Dragons, FATE)

[x] I have followed the Character Sheets Standards when building this sheet.

[x] This sheet has been made on behalf of, or by, the game's publisher.
[x] This game is not a traditionally published game, but a copy of the game rules can be purchased/downloaded/found at: https://www.sistema3dx.com.br
[ ] This sheet is for an unofficial fan game, modification to an existing game, or a homebrew system.

Changes / Description

Character Sheet Info Roll20 Internal Use only.


Fix static _handler pickling error.

Moves the subfunction _handler out to a module-level function, and parameterizes it with functools.partial().
Fixes the case when picking a sanic app which has a registered static route handler. This is usually encountered when attempting to use multiprocessing or auto_reload on OSX or Windows.
Fixes #1774

This fixes static files but unfortunately there are also problems with route decorators:
# @app.get(...)
_pickle.PicklingError: Can't pickle <function my_handler at 0x10b2129d0>: it's not the same object as __main__.my_handler

# @app.websocket(...)
AttributeError: Can't pickle local object 'Sanic.websocket.<locals>.response.<locals>.websocket_handler'

Ah, ok. I was testing on Linux and not seeing that problem. Thanks for the tip @Tronic

This can probably be still merged, as it does fix the static _handler pickle error, and adds a new test for that problem.
The route decorator pickle problem can probably be created as a secondary issue and receive an additional fix.

I was hoping to get this change into the (belated) 20.03 release. Looks like it didn't make it. Still says one more review is required?

Oh, when I saw the 20.3 PR go through yesterday, I thought we had done the 20.3 release. I'll merge this now and it might still make the release.

@Tronic I've made a fix for the websocket_handler pickle error, I will open a PR with that shortly. However I still cannot reproduce the route decorator pickling error.
I've changed the mp context to 'spawn' as you suggested, and even force-picking the whole app with decorated routes, and cannot get it to fail with "Can't pickle <function handler at 0x0>: it's not the same object as main.handler" error.
Are you able to share some code which reproduces the pickling error with route decorators?

This can me merged?

Yes, it's finished and approved and is ready to be merged.


draft for hiding mscolab ui when not needed

@joernu76 please link with an issue (create that too)

I am not convinced that people will find the "disconnect" button. Toggling the connect button to disconnect'd be more intuitive, I think.
Web services try to make disconnecting/signing out purposely difficult; I am not sure we should follow that particular UI design philosophy, but that'd be a change for a different MR.

currently I like how it is, a lot web services have the logout feature in that position.
Closing is also a logout, I guess when we would have something similar as closing the operation list, it may be an compromise.
I look on the other changes after the it-forum ;)

currently I like how it is, a lot web services have the logout feature in that position. Closing is also a logout, I guess when we would have something similar as closing the operation list, it may be an compromise. I look on the other changes after the it-forum ;)

Currently, I did not change this.

fun fact was that I somehow clicked on that and wondered what that is. Then I wanted to decribe this and needed long to figure that I have to click into the edge


unique review in Article schema

Hi
I have a little problem when I have to add a list of reviews in the schema article it accepts just one review
'review' => Review::class

hi, my recent answer to #44 may help your usecase. regards


Task-alg-YL2 need some advances

It would be better to apply object-oriented programming technique. Most of functions can be gathered in particular module, which accessible both CLI and WIN game.
Moreover, that functions have to be converted into class methods.

Well, I'll thinking about it

OK, you can probe all of this in my repos.


adding The Arcade to the webring

hi, me like cuddles :^)

Welcome to the Cuddler Webring, fellow lover of cuddles! (I can see you've already added the next and previous links to your webpage so I shan't tell you to do it again like my usual join message would :p )


group email?

Should we set up a miniDREAM email that all of the TAs can check? Would also be good to have a single point of contact to list on the wiki.

Use the team email<EMAIL_ADDRESS>


What widget does this collector map to?

What widget in the dashboard does this collector map to? I don't see an artifact widget by default. Any help on proper way to use this would be great.

unfortunately there is no widget corresponding to the data collected by this  collector. Its being used for some decisioning logic implemented in api-audit and api components

OK thanks for the details!


identity encoder code not found

Can you please provide the identity encoder code

do you mean the arcface.pt？ i can share you
and i also have aproblem that what is the valset_dir？there is only one data file after process

Yes can you share the file
On Sun, 10 Mar, 2024, 8:54 pm rain, @.***> wrote:

do you mean the arcface.pt？ i can share you
and i also have aproblem that what is the valset_dir？there is only one
data file after process
—
Reply to this email directly, view it on GitHub
https://github.com/maum-ai/faceshifter/issues/32#issuecomment-1987267862,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKT2XORRYFWALXECLBKHSRTYXR3JFAVCNFSM6AAAAABDFBDD6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGI3DOOBWGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

https://drive.google.com/file/d/1FSCUC5CbyPKnl5Bbt58tPcKCVOyyt004/view，there is
and how about my question？ can you help me please

Valset_dir is the validation dataset
On Mon, 11 Mar, 2024, 7:08 am rain, @.***> wrote:

https://drive.google.com/file/d/1FSCUC5CbyPKnl5Bbt58tPcKCVOyyt004/view，there
is
and how about my question？ can you help me please
—
Reply to this email directly, view it on GitHub
https://github.com/maum-ai/faceshifter/issues/32#issuecomment-1987478689,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKT2XOV3NRUEFBQVGARBET3YXUDKTAVCNFSM6AAAAABDFBDD6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGQ3TQNRYHE
.
You are receiving this because you authored the thread.Message ID:
@.***>

Valset_dir is the validation dataset
…
On Mon, 11 Mar, 2024, 7:08 am rain, @.> wrote: https://drive.google.com/file/d/1FSCUC5CbyPKnl5Bbt58tPcKCVOyyt004/view，there is and how about my question？ can you help me please — Reply to this email directly, view it on GitHub <#32 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKT2XOV3NRUEFBQVGARBET3YXUDKTAVCNFSM6AAAAABDFBDD6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGQ3TQNRYHE . You are receiving this because you authored the thread.Message ID: @.>

i know ，but where is the data，there is only one dataset folder

Please try using a custom dataset
On Mon, 11 Mar, 2024, 7:27 am rain, @.***> wrote:

Valset_dir is the validation dataset
… <#m_4469855725087490192_>
On Mon, 11 Mar, 2024, 7:08 am rain, @.> wrote:
https://drive.google.com/file/d/1FSCUC5CbyPKnl5Bbt58tPcKCVOyyt004/view，there
https://drive.google.com/file/d/1FSCUC5CbyPKnl5Bbt58tPcKCVOyyt004/view，there
is and how about my question？ can you help me please — Reply to this email
directly, view it on GitHub <#32 (comment)
https://github.com/maum-ai/faceshifter/issues/32#issuecomment-1987478689>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKT2XOV3NRUEFBQVGARBET3YXUDKTAVCNFSM6AAAAABDFBDD6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGQ3TQNRYHE
https://github.com/notifications/unsubscribe-auth/AKT2XOV3NRUEFBQVGARBET3YXUDKTAVCNFSM6AAAAABDFBDD6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGQ3TQNRYHE
. You are receiving this because you authored the thread.Message ID: @.>
i know ，but where is the data，there is only one dataset folder
—
Reply to this email directly, view it on GitHub
https://github.com/maum-ai/faceshifter/issues/32#issuecomment-1987495635,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKT2XOQ6GVQPPTEE7UE45X3YXUFSPAVCNFSM6AAAAABDFBDD6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGQ4TKNRTGU
.
You are receiving this because you authored the thread.Message ID:
@.***>

Please try using a custom dataset
…
On Mon, 11 Mar, 2024, 7:27 am rain, @.> wrote: Valset_dir is the validation dataset … <#m_4469855725087490192_> On Mon, 11 Mar, 2024, 7:08 am rain, @.> wrote: https://drive.google.com/file/d/1FSCUC5CbyPKnl5Bbt58tPcKCVOyyt004/view，there https://drive.google.com/file/d/1FSCUC5CbyPKnl5Bbt58tPcKCVOyyt004/view，there is and how about my question？ can you help me please — Reply to this email directly, view it on GitHub <#32 (comment) <#32 (comment)>>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKT2XOV3NRUEFBQVGARBET3YXUDKTAVCNFSM6AAAAABDFBDD6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGQ3TQNRYHE https://github.com/notifications/unsubscribe-auth/AKT2XOV3NRUEFBQVGARBET3YXUDKTAVCNFSM6AAAAABDFBDD6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGQ3TQNRYHE . You are receiving this because you authored the thread.Message ID: @.> i know ，but where is the data，there is only one dataset folder — Reply to this email directly, view it on GitHub <#32 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKT2XOQ6GVQPPTEE7UE45X3YXUFSPAVCNFSM6AAAAABDFBDD6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSOBXGQ4TKNRTGU . You are receiving this because you authored the thread.Message ID: @.**>

thanks


Is there any way to execute rdcli with multiple command parameters?

Hi there,
I'm trying to run multiple commands programmatically, but I'm having a hard time figuring out how to do this (if there is even a way). Basically I need to login to the Redis instance, then run multiple commands, but I need to do this programmatically. I'm trying to run this as a job from my CI/CD server, so I won't be there to type the commands into the REPL. :)
Here's an example of what I'd like to see:
npx rdcli -h host -a password --tls ping ping
This would run the Redis ping command twice.
Alternatively, I could read in the commands from a file:
npx rdcli -h host -a password --tls < commands.txt
Neither of these approaches work. Is there a way to accomplish what I want to do?

I prefer to support lua script.
Does Lua script meets your requirements?

@lujiajing1126 I would imagine it would, but I'd have to know more to be sure. I want to ensure that Node.js and NPM packages are the only dependencies. In other words, I wouldn't want to have to also install a Lua interpreter. If Lua is just embedded in redis-cli, however, that should be fine, as long as I can use Lua to script out running multiple commands sequentially.
So I think the answer is yes, it does meet my requirements, as long as those things are true. Thanks for the speedy response! How long do you think it might take to implement Lua scripting? I'm wondering if I should look for an alternative interim solution.

@lujiajing1126 I would imagine it would, but I'd have to know more to be sure. I want to ensure that Node.js and NPM packages are the only dependencies. In other words, I wouldn't want to have to also install a Lua interpreter. If Lua is just embedded in redis-cli, however, that should be fine, as long as I can use Lua to script out running multiple commands sequentially.
So I think the answer is yes, it does meet my requirements, as long as those things are true. Thanks for the speedy response! How long do you think it might take to implement Lua scripting? I'm wondering if I should look for an alternative interim solution.

As I understand, lua scripting does not rely on the client.
A possible workaround is
$ npx redis-cli eval "return {KEYS[1],KEYS[2],ARGV[1],ARGV[2]}" 2 key1 key2 first second
1) key1
2) key2
3) first
4) second

while the quoted string is the content of your lua script. With the help of cat, you can use the following command,
$ npx redis-cli eval "$(cat script.lua)" 2 key1 key2 first second
1) key1
2) key2
3) first
4) second

where you may put the script into a file.


Feature Request: Insert a space after an emoji is selected

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Problem:
When sending messages and including an emoji, after you've selected the emoji and continue to type your message, a space isn't added so it looks like :woo-homer:this.
Solution:
By default, add a space after :ralph: so that the user can continue to type without having to add another space
Context/Examples/Screenshots/Notes: The space after :milhouse: is default in Slack so many people are used to it being added.  We're also working on allowing the ability to type emoji names (GH), ala :granpa: and the space after :granpa: is also default in Slack and what people are used to.
Action Performed:

Navigate to any chat
send emoji

Expected Result:
User should see space after an emoji is selected
Actual Result:
When sending messages and including an emoji, after you've selected the emoji and continue to type your message, a space isn't added so it looks like :woo-homer:this.
Workaround:
unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: 1.2.1-0
Reproducible in staging?:
Reproducible in production?:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by: @mallenexpensify
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1662746279291419
View all open jobs on GitHub

Proposal:
We can insert space after an emoji in addEmojiToTextBox(emoji) function.
https://github.com/Expensify/App/blob/3335b188ce86ba413f4098f6905926e737870ce3/src/pages/home/report/ReportActionCompose.js#L312-L325
    addEmojiToTextBox(emoji) {
+        const emojiWithSpace = emoji + ' '
        const newComment = this.comment.slice(0, this.state.selection.start)
+            + emojiWithSpace + this.comment.slice(this.state.selection.end, this.comment.length);
        const newComment = this.comment.slice(0, this.state.selection.start)
-            + emoji + this.comment.slice(this.state.selection.end, this.comment.length);
        this.textInput.setNativeProps({
            text: newComment,
        });
        this.setState(prevState => ({
            selection: {
-                start: prevState.selection.start + emoji.length,
-                end: prevState.selection.start + emoji.length,
+                start: prevState.selection.start + emojiWithSpace.length,
+                end: prevState.selection.start + emojiWithSpace.length,
            },
        }));
        this.updateComment(newComment);
    }

The suggestion sounds good to me 👍

@sobitneupane thanks for the timely proposal! I think @grgia already had some changes locally so she went ahead and made a PR.

Oooooh, this might be one of those rare (first time I've seen it) situations where a proposal was submitted before the External label was added and we decided to fix internally. @grgia:

Is that correct?
For the fix, did you use/reference code that @sobitneupane proposed?

Per our CONTRIBUTING.md
> Note: Issues that have not had the External label applied have not yet been approved for implementation. This means, if you propose a solution to an issue without the External label (which you are allowed to do) it is possible that the issue will be fixed internally. If the External label has not yet been applied, Expensify has the right to use your proposal to fix said issue, without providing compensation for your solution. This process covers the very rare instance where we need or want to fix an issue internally.

Ah yes, I'm sorry! There was no label so I assumed I could fix it

@grgia For the fix, did you use/reference code that @sobitneupane proposed?
I/we need to decide if they're due compensation

Chatted with @grgia, she's new to the team and was unaware of our process. Technically, per our CONTRIBUTING.md, since the proposal was submitted before the Help Wanted label was added, we could use details from the proposal without compensating @sobitneupane .   @grgia mentioned she did reference the code provided so, for this edge case, we will compensate @sobitneupane . @sobitneupane please monitor the issue and PR until the PR is deployed to production, provide help if/where needed.  Compensation will be issues 7 days after the PR has been deployed to production, assuming there are no regressions.
@sobitneupane , please apply here https://www.upwork.com/jobs/~0106db93cef35496f5 and confirm in this issue once you have.

Applied.

@sobitneupane , hired, please let me know when you accept and I'll pay

@mallenexpensify I am getting error while trying to accept your offer.

No luck. Unable to accept offer for this job. I was able to accept offer for other jobs though.

How about this one @sobitneupane https://www.upwork.com/jobs/~014ab10dacdb6c00ad

You're welcome @sobitneupane .  You're paid and both Upwork jobs are closed.


Added zenodo DOI badge (test)

I knew zenodo can give you a badge thingy for you GitHub readme. from clicking this button. I just added the markdown to your README to see if it shows up.

theres just hat one commit above. lmk how it goes


npm install fails

I have a problem on building on a machine
Ubuntu 18.04.3
Node version v10.19.0
NPM version 6.13.4
in the APP folder
npm install
npm run build
are both successful, but then in the server folder
npm install
fails.
I get the error:
Error: you need to install gyp in deps/gyp first, run:
./scripts/get-dep.sh gyp
Makefile:23: recipe for target 'default' failed
make: *** [default] Error 42
make: Leaving directory '/var/www/test/multiparty-meeting/server/node_modules/mediasoup/worker'
What is interesting on a second machine with the same configuration (OS and Node), the build does not fail.
I'm lost.

If you haven't already, delete the node_modules folder in server and try npm install again.

And make sure you have the debian/ubuntu package build-essential installed.

Hi thanks for the answers. I got the build-essential installed.
I have solved the problem by removing node from the machine and cleared all leftover files and folders from node. Then a fresh node install and it works.


Sidebar problem on mobile

I am having a trouble with sidebars. In my phone and in the chrome's device simulator the sidebar is not disappearing until the pusher content fills the screen.
I am using Angular2 and I used the sidebar as

$(this.el.nativeElement)  // this is equal to $('.ui.sidebar')
      .sidebar({context: this.context})  // this.context is '#app'
      .sidebar('setting', 'transition', 'overlay');

Dr. English Muffin

Practitioner

   Home
   My Patients
   Inbox

    ....

I also tried moving sidebar from inside of the div to body, however result is the same.
Another problem is that when I scroll the sidebar up or down, it may disappear and pusher stays dimmed.
Here are the screen shots:

@bunyaminsg
I had a similar problem with Vue 2, and solved it by overriding a rule in src/site/modules/sidebar.overrides:
.left.sidebar {
  // Additional rules that you need.
  z-index: @topLayer !important;
}

If it’s not enough to make it work, then I forgot to mention some additional steps that I made; join the community on Gitter, I’ll dig into my case, and we’ll think of something. I’ll close the issue for now, because it only seems to appear when you use SUI’s sidebar in combination with front-end frameworks, but If we end up finding that it’s not the case, we’ll reopen it in no time. The following is a standard response.
Please use the Gitter chatroom, the official forums or StackOverflow to ask usage questions; see the contributing guidelines for more information on what kind of posts should find themselves into the GitHub Issues board.


#ASKtools description

Make the tools and their descriptions more clear for users.
precise title and subtitle

up to two lines...

the headings and subheadings can be changed in the folder tools . Each tool has a separate file, and the subheading is the value after subtitle:  (so pretty straight-forward, but a lot of files to edit...)

@MartinSchott I changed the order and some wording but I think it could be improved - if you find a good understandable Title and Short-description for each @yara89 would be great → thx

I changed the order accordingly

Added the short descriptions...

Ok I think we still need to even out things → should be on point and same height if possible, not lots of pictures are cut of and the text is a bit much too read/to many words (I made the development branch the render branch, so check out directly)

for the #ASKtools, the descriptions were added in the .md files, but the images I think by Martin, wasn't sure if I should go ahead and resize and crop etc... to avoid any conflicts,
I think that there should be a way, to make the containers (both the images and text) a fixed size, and that way you avoid any issues.. I could also, resize the images, so they look neater but was not sure I should go ahead and do  something like that, or to communicate it (incase someone else is working on it) should we just communicate these details  and decide who/when each one does something?
@MartinSchott, maybe we could have another call some time, and split more tasks amongst us?

@yara89 yeah I found a CSS setting that makes all pictures the same height. So no resizing or cropping of the pictures is needed.
I guess in terms of working together, it's good to communicate first, to check if the other one is already on it. I try as much as possible to always focus on 1 project, I find it easier. I think at the moment there are no issues on the #ASKnet website that dont requite timm or basti to give more input...