Installation Experience + Not working

Hi, I really like the idea of this addon, however if i installed it from the asset library it installes this addon into the root of my project (the file conflict is LICENSE.md:

Which causes scripts to fail because they expect all the content in addons/csg_toolkit:
res://scripts/csg_toolkit_bar.gd:30 - Parse Error: Preload file "res://addons/csg_toolkit/scenes/config_window.tscn" does not exist.

If i manually create the directory structure that is expected and install the addon there, i get these errors:
 scene/resources/resource_format_text.cpp:284 - res://addons/csg_toolkit/scenes/config_window.tscn:14 - Parse Error:
  Failed loading resource: res://addons/csg_toolkit/scenes/config_window.tscn. Make sure resources have been imported by opening the project in the editor at least once.

If i try to open  res://addons/csg_toolkit/scenes/config_window.tscn in the editor it tells me Scene file 'config_window.tscn appears to be invalid/corrupted.
Specs:
OS: Windows 11
Godot: Godot Engine v4.2.2.stable.official.15073afe3

Hey, thank you for your feedback. I’ll look into it right away.

I can confirm that there's an issue with config_window.tscn.
Thank you for noting that manually creating the required folder structure resolves the initial Parse Error.

I was able to reproduce the issue.
After creating a new blank project, installing the current version of the plugin from the asset library, and manually creating the folder structure, I encountered the same error message. However, after reloading the project, the issue no longer persisted.
Could you please try the same steps and let me know if the bug still exists for you?

It still persits for me even after i restart godot and reload the project.

ok but i get other behaviour if i try to open the scene after restarting the project, i get the following error:

I verified that the script exists in that path...
If i press open anyways i get the same scene corrupt error as before.
If i press fix dependecies, godot warns me that the scene is open, i choose the script, same error...
After doing that once I only get the scene corrupted error from then on...
Very strange!

oh okay so after reloading the editor several times because of testing i noticed no more errors on startup and now i cant reproduce the original bug after restarting..
Would you mind pushing a fix for the installation and I try again with my setup to see if this works on my setup?

I'm pleased to hear the issue is resolved. Enjoy using the toolkit!
I'll work on implementing a fix for the setup process.

Fix just got published to the godot asset store. 🚀
Let me know if that helped. 🤞
https://godotengine.org/asset-library/asset/3057

Well after this fix the addon installs correctly. (altough it still installs LICENSE and readme.md into the project root)
I get the same error as before about the scene beeing invalid. After restarting the editor, i get no error but the addon is disabled and I have to manually renable it in the project settings. (presumably because it produced an error after installing?) After that it works.
I think this should still be fixed.

Regarding the LICENSE and readme.md conflicts, there's not much I can do, as modifying them might affect the proper display of my repository. However, these conflicts should not override your files since conflicting files will not be installed. For now, the best approach might be to reload the project after installation. 🤔

yeah but also manually enabling the plugin. If you are unable to fix it, at least mention it in the readme as it might confuse new users as to why the plugin is not working.


[BugFix] fix csv bug of empty records and trailing record

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #https://github.com/StarRocks/starrocks/issues/13105
Problem Summary(Required) ：

This PR is to :

return empty record because maybe there is empty string as legal value.
don't add trailing row delimiter when buffer is empty. otherwise there will be a one more record.
fix cache_input_stream: update _offset and calibrate count

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

run starrocks_admit_test

run starrocks_admit_test


Fail to load franka kitchen related environments

Hi, I have successfully configured all environments according to your instructions before and all commands run well. However, I reconfigured all environments in another machine recently and following error always encounters:
>>> python hydra_launcher.py hydra/launcher=local hydra/output=local env=kitchen_sdoor_open-v3 camera=left_cap2 pixel_based=true embedding=resnet50 num_demos=5 env_kwargs.load_path=r3m bc_kwargs.finetune=false bc_kwargs.save_logs=true proprio=9 seed=125 job_name=kitchen_sdoor_open-v3_left-cap2
/root/miniconda3/envs/r3m/lib/python3.7/site-packages/gym/spaces/box.py:112: UserWarning: WARN: Box bound precision lowered by casting to float32
  logger.warn(f"Box bound precision lowered by casting to {self.dtype}")
RS:> Registering Arms Envs
/root/miniconda3/envs/r3m/lib/python3.7/site-packages/transforms3d/quaternions.py:26: DeprecationWarning: `np.float` is a deprecated alias for the builtin `float`. To silence this warning, use `float` by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use `np.float64` here.
Deprecated in NumPy 1.20; for more details and guidance: https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
  _MAX_FLOAT = np.maximum_sctype(np.float)
RS:> Registering Biomechanics Envs
RS:> Registering Hand Envs
RS:> Registering Kitchen Envs
========================================
Job Configuration
========================================
default:
- override hydra/launcher: local
- override hydra/output: local
env: kitchen_sdoor_open-v3
pixel_based: true
embedding: resnet50
camera: left_cap2
device: cuda
seed: 125
steps: 20000
eval_frequency: 1000
eval_num_traj: 50
num_cpu: 1
num_demos: 5
proprio: 9
env_kwargs:
  env_name: ${env}
  device: ${device}
  image_width: 256
  image_height: 256
  camera_name: ${camera}
  embedding_name: ${embedding}
  pixel_based: ${pixel_based}
  render_gpu_id: 0
  load_path: r3m
  proprio: ${proprio}
  lang_cond: false
  gc: false
reparse_kwargs:
  visualize: true
  save_frames: true
bc_kwargs:
  loss_type: MSE
  batch_size: 32
  lr: 0.001
  save_logs: true
  finetune: false
  proprio: ${proprio}
  proprio_only: false
job_name: kitchen_sdoor_open-v3_left-cap2
cwd: /root/Robotics/r3m/evaluation/r3meval/core

5
Demonstration score : 11.05

Traceback (most recent call last):
  File "wrappers.pxi", line 1137, in mujoco_py.cymj.PyMjModel._extract_mj_names
AssertionError
Exception ignored in: 'mujoco_py.cymj.PyMjModel._set'
Traceback (most recent call last):
  File "wrappers.pxi", line 1137, in mujoco_py.cymj.PyMjModel._extract_mj_names
AssertionError
Segmentation fault (core dumped)

However, the commands regarding MetaWorld and Adroit environments run well. I suspect that the Franka Kitchen environment is not registered successfully. Do you have any suggestions?

It might be arg passing via cmd line issue -- env name is being picked as env: kitchen_sdoor_open- it should be env: kitchen_sdoor_open-v3.

Sorry for misplaced print log. I have corrected it.

This looks like it might be a mujoco_py issue, or something about the way the environment was installed from mj_envs. Could you try directly loading the environment from mj_envs and see if the issue persists?

I just tried the following and it worked at my end
import gym
import mj_envs
env = gym.make('kitchen_sdoor_open-v3')

I just pushed an update that will help with the situation. @jasonseu - Can you pull on the mj_envs stable branch and give it another try?

This looks like it might be a mujoco_py issue, or something about the way the environment was installed from mj_envs. Could you try directly loading the environment from mj_envs and see if the issue persists?

Loading the environment from mj_envs also fails, but it successes with the updated mj_envs provided by @vikashplus . Anyway, thanks for your kindly help.

I just pushed an update that will help with the situation. @jasonseu - Can you pull on the mj_envs stable branch and give it another try?

Yes, it works, great thanks to you. This error has been bothering me for days.  Thanks again.

Perfect. Closing the ticket. Feel free to open it if the problem persists.


How to import on the client side

Hiya. It looks like this module is published in commonjs format. Is there a way to import on the client-side without using a bundler? I'm currently trying to get it working with rollup, but struggling.

I think the rollup issue I'm having might just be this one: https://github.com/rollup/plugins/issues/556. Not really a problem with this repo. But my solution might be to re-export as an ES module instead of commonjs.

Should I create a bundle just like I did with the Snapshot Interpolation library? (https://github.com/geckosio/snapshot-interpolation/issues/5)

Ya! That would be great I think.

fwiw I did get the import working on the client side with rollup via the commonjs and node-resolve modules, and with esm on the node side.


iOS updateMetadataForTrack error and how to fix

The error:
The error caused by a wrong ObjC method name in the  RNTrackPlayerBridge.m file.
The fix:
At the line: 99 in  RNTrackPlayerBridge.m file change "withProperties" method name to "properties" method name.
After the fix it is working as expected!

What was the version of the lib you were using ?

1.1.4

@holospeed can you open a pull request fixing the bug?


Add a page on parallel and async tools.

Solves #178.
No async yet, but there are a couple of projects using async so I'll ask around for opinions.

@paddyroddy

I understand the philosophy behind the traffic light system, but one can easily use i.e. numba and multiprocess in conjunction - so not sure if it makes too much sense.

I think @dstansby 's suggestion

Maybe this could be split into thread/process based parallelism (multiprocess, multiprocessing, dask, mpi4py I think?) and (JIT) compiler based parallelism (numba, jax, Cython)?

Solves your problem?

Maybe this could be split into thread/process based parallelism (multiprocess, multiprocessing, dask, mpi4py I think?) and (JIT) compiler based parallelism (numba, jax, Cython)?

I like this suggestion as I think this both deals with @paddyroddy's comment regarding traffic light recommendation and makes it a bit easier for users to identify relevant tool for a specific context. I guess we might then have to recommend a specific tool for compiler based parallelism which might require some thought / discussion though.

Solves your problem?

Agreed

Worth mentioning https://docs.python.org/3/library/concurrent.futures.html too

@paddyroddy

Worth mentioning https://docs.python.org/3/library/concurrent.futures.html too

I'm gonna need a traffic light colour for that, old bean.

I'm gonna need a traffic light colour for that, old bean.

I'm a fan! 🎐

@matt-graham GIL may go in the future https://peps.python.org/pep-0703

@matt-graham GIL may go in the future https://peps.python.org/pep-0703

Yep I linked to that PEP in my suggested change above 😉

Yep I linked to that PEP in my suggested change above 😉
EDIT: Potentially misunderstood your comment, was the point that is not certain and so not worth linking to?

To be honest, it is so many words that my brain skipped some of it... I feel like it is going into a lot of detail that won't be relevant for most users. However, perhaps it could be useful in a <details> block?
But yes it is also may fall out of date with the Python ecosystem, so may just be worth linking to the PEP?

I guess we might then have to recommend a specific tool for compiler based parallelism which might require some thought / discussion though.

Left them as all-amber for now. I'd be inclined to factor out the discussion of our favorites to either a new ticket, or to an in-person meetup.

Worth mentioning docs.python.org/3/library/concurrent.futures.html too

Part of standard library too

To be honest, it is so many words that my brain skipped some of it...

I wouldn't say ~150 words is all that many, and irrespective I feel it's not unreasonable to expect you to read things you comment on before commenting on them, even if you find them overly wordy 🙁. Not trying to make a big deal of this, but comments like the above do make it less appealing to contribute and I would say we should keep comments kind and constructive.

I feel like it is going into a lot of detail that won't be relevant for most users. However, perhaps it could be useful in a <details> block?
But yes it is also may fall out of date with the Python ecosystem, so may just be worth linking to the PEP?

Even if/when PEP0703 gets fully implemented the GIL will be optional but not removed so a lot of the mentioned details will still be relevant. I think having some explanatory comments is useful as while we want to keep thing simple for users, wanting to exploit parallelism / asynchronicity is a relatively advanced use case, and is inherently a complex topic and I think trying to hide away the complexity doesn't necessarily help. Putting some extra detail in a <details> block I think would be a good approach.

I wouldn't say ~150 words is all that many, and irrespective I feel it's not unreasonable to expect you to read things you comment on before commenting on them, even if you find them overly wordy 🙁. Not trying to make a big deal of this, but comments like the above do make it less appealing to contribute and I would say we should keep comments kind and constructive.

I did read them... What I am saying is that is why I missed you'd already linked to the issue. We all have different reading and interpreting styles.

To stop this PR snowballing, I'm factoring out the asynchronous stuff to

#331


Error code: -9993(0x-2709), Invalid argument

I'm having an odd issue that I can't seem to be able to solve.
In my program I have a main unix socket that accept message and within the same program I have cli that create a socket and write to the main socket. The connection to main has no issues, it's when I write, the main socket error out with  Error code: -9993(0x-2709), Invalid argument
Main Socket:
  func attach() async {
    do {
      try socket.listen(on: socketPath)
      log.info("Listening on \(socketPath)")
      while true {
        let socket = try Socket.create(family: .unix, type: .stream, proto: .unix)
        let conn = try socket.acceptClientConnection()
        let msg = try conn.readString()?.trimmingCharacters(in: .whitespacesAndNewlines)
        conn.close()
       // await .......
      }
    } catch { log.error("Socket error: \(error)")  }
  }

CLI socket write:

do {
  let socket = try Socket.create(family: .unix, type: .stream, proto: .unix)
  try socket.connect(to: socketPath)
  try socket.write(from: "-d restart")
  return
} catch { ... }

I think the "Socket.create" line may not be needed in your attach() call?  It's certainly overriding your socket.listen().

🤔 indeed must copied here by mistake.
as a workaround I opt out to nc
    let pipe = Pipe()
    let echo = Process()
    echo.launchPath = "/usr/bin/env"
    echo.arguments = ["echo"] + args.components(separatedBy: " ")
    echo.standardOutput = pipe

    let task = Process()
    task.launchPath = "/usr/bin/env"
    task.arguments = ["nc", "-U", socketPath]
    task.standardInput = pipe
    echo.launch()
    task.launch()

    task.waitUntilExit()

    if task.terminationStatus != 0 {
      throw Error.processFailed(args)
    }

My attach function is now
func attach() async {
    do {
      let socket = try Socket.create(family: .unix, type: .stream, proto: .unix)
      try socket.listen(on: socketPath)
      log.info("Listening on \(socketPath)")

      while true {
        let conn = try socket.acceptClientConnection()
        let msg = try conn.readString()?.trimmingCharacters(in: .whitespacesAndNewlines)
        conn.close()
        await processMessage(msg)
        if stop || restart {
          log.info("No longer accepting connection to \(socketPath)")
          break
        }
      }
    } catch {
      log.error("Socket error: \(error)")
    }

    if restart {
      restart = false
      await attach()
    }
  }

I had same error but in different context.
do {
   let socket = try Socket.create(family: .inet, type: .datagram, proto: .udp)
   let destination = Socket.createAddress(for: "localhost", on: 50000)
   _ = try socket.write(from: Data("Message".utf8), to: destination!)
   print("Sent message to 50000")
} catch {
   print("Failed to send message to 50000 - \(error)")
}

It worked few days ago, but now its not and that makes me crazy... the problem in localhost...if I change it to <IP_ADDRESS> it start working again. But Im pretty sure it worked with localhost before. Any ideas why it stop working?

If you're on macOS, I think localhost is defined for both ipv4 and ipv6, which I think can sometimes cause confusion.  Is it more reliable if you use <IP_ADDRESS>?  Also how is your listening side declared?

@dannys42 yes, im on macOS. no listener in this example. it just works w/o error if I change to <IP_ADDRESS>. But I'm very curious about the reason why localhost stopped working (because it worked few days ago and I have not change source code). So it more likely the issue with my host machine.
/etc/hosts does have <IP_ADDRESS> localhost and  ping localhost in terminal works...

/etc/hosts also has ::1 localhost. After I removed it - socket start working again. So yes, it were related to ipv4/ipv6. Not sure why it were recognised as AF_INET before and now as AF_INET6, but yes - it will be more reliable to use <IP_ADDRESS>


How cani controll the height of bottom sheet ?i tried setMinimumheight but that is not worked

Can you provide some more context? e.g. in its peeked state, collapsed state, what are you trying to accomplish.

The Listview in bottomsheet showing up to some point ,when i scrolled it reaching to the top,
But i want show the listview according to content ,

Listview with More items not showing full screen,when i scrolled then it is going for fullscreen
help me to made it full screen even with more items,may be the problem because of listview

If you are trying to adjust the peek height, I found I had to extend and override bottom sheet.
In the below case, I get the height of my view set in the sheet, or use the maximum height.
    @Override
    public float getPeekSheetTranslation() {
        CartSheetView sheetView = (CartSheetView) getSheetView();

        if (sheetView.getScrollHeight() > 0) {
            return (getMaxSheetTranslation() < sheetView.getScrollHeight()) ? getMaxSheetTranslation() : sheetView.getScrollHeight() ;
        }

        if (definedPeekHeight > 0) {
            return (getMaxSheetTranslation() < definedPeekHeight) ? getMaxSheetTranslation() : definedPeekHeight ;
        } else {
            return super.getPeekSheetTranslation();
        }
    }

And this could be a totally wrong way to handle it, but I also want my scroll view to never be larger than the height of the parent view. To accomplish this I went this route:
in init()
        /**
         * This is to try and get the scrollView size when available....
         */
        ViewTreeObserver viewTreeObserver = itemContainerScrollView.getViewTreeObserver();
        if (viewTreeObserver.isAlive()) {
            viewTreeObserver.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

                @Override
                public void onGlobalLayout() {
                    // hrm... removeOnGlobalLayoutListener
                    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN) {
                        itemContainerScrollView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
                    } else {
                        itemContainerScrollView.getViewTreeObserver().removeGlobalOnLayoutListener(this);
                    }
                    resizeScroller();
                }

            });
        }

And the actual method resizing
    public void resizeScroller() {
        // Get the scroller height...
        int scrollHeight = itemContainerScrollView.getHeight();
        // Get the parent height
        View parent = (View) getParent();
        int parentHeight = parent.getHeight();

        if (scrollHeight > parentHeight) {
            itemContainerScrollView.setLayoutParams(
                    new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, parentHeight)
            );
            this.scrollHeight = parentHeight;
        } else {
            this.scrollHeight = scrollHeight;
        }
    }

Oh, you could also override getMaxSheetTranslation and provide a different size.

I think @Anatidae-Project's answers sum this up. @AnirudhLoya can I close this?

how can i override getMaxSheetTranslation

Extend BottomSheet.
@Override
public float getMaxSheetTranslation() {}
If you're using Android Studio and a bit new to Java, leverage the tools to override methods. It will drop in needed boilerplate. I think command-N on mac and alt-insert on PC.

close

close

Is there any other option other than what you have mentioned above

A little bit outdated, but this issue has good index in google search.
You can try set LayoutParams with fixed height in pixels.
BottomSheetDialog dialog = new BottomSheetDialog(getContext(), getTheme());
dialog.setContentView(view, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
500))


Correct link reg. minimum required app version

This PR corrects a link in the document "cwa-versioning".

@Ein-Tim Thanks.


checkpointing a container requires root

Although https://podman.io/blogs/2018/10/10/checkpoint-restore.html has examples of checkpoint run as user, on podman-<IP_ADDRESS>-1.git9551f6b.fc29.x86_64 it does not work:
$ podman container checkpoint teamviewer10
checkpointing a container requires root

I am not sure if we have rootless support for check pointing.
Could you try this with running podman as root.

I'm pretty sure we should just change the examples here - @adrianreber can confirm, but I think we have a requirement for root with checkpoint/restore

checkpoint works as root, restore no:
podman ps
CONTAINER ID  IMAGE                                COMMAND  CREATED         STATUS             PORTS  NAMES
8e802732b330  quay.io/nerijus/teamviewer10:latest  bash     12 seconds ago  Up 12 seconds ago         amazing_yalow
podman container checkpoint 8e802732b330
8e802732b3309582e8d36af03f639decfb88a1ffcce2b6b8ee9a09e4ee041880
podman container restore 8e802732b330
unable to find container 8e802732b330: no container with name or ID 8e802732b330 found: no such container

Checkpointing can only work as root as CRIU has no support for non-root checkpointing. Some years ago there was a push to get it working as non root, but right now development is stuck upstream.
There are a few kernel interfaces missing to get it working as non-root. It is doable, but right now I am not aware of anybody in the CRIU community actively working on it.
Google is using CRIU for container live migration internally as non-root: https://linuxplumbersconf.org/event/2/contributions/209/attachments/27/24/Task_Migration_at_Google_Using_CRIU.pdf
One of the main problems is that restoring a process with the same PID requires CAP_SYS_ADMIN.

@nerijus Where do you see that it works as non-root?

https://podman.io/blogs/2018/10/10/checkpoint-restore.html :
"I can now checkpoint the container:
$ podman container checkpoint podman-criu-test"

@nerijus hm, okay, sorry if it confusing, but this should not mean as non-root? Why does this mean as non-root? What would be better to make it clear it works only as root?

Because of prompt - $. It ususally means user, # means root.

Ah, right. Did not think about that. Good point for the future. Thanks.

checkpoint works as root, restore no:
# podman ps
CONTAINER ID  IMAGE                                COMMAND  CREATED         STATUS             PORTS  NAMES
8e802732b330  quay.io/nerijus/teamviewer10:latest  bash     12 seconds ago  Up 12 seconds ago         amazing_yalow
# podman container checkpoint 8e802732b330
8e802732b3309582e8d36af03f639decfb88a1ffcce2b6b8ee9a09e4ee041880
# podman container restore 8e802732b330
unable to find container 8e802732b330: no container with name or ID 8e802732b330 found: no such container

Can you run  podman ps -a to share the state of the checkpointed container.
Can you run podman container checkpoint -k 8e802732b330. With -k there should be a file dump.log and a checkpoint directory. Can you share the log file? If you run podman with --log-level debug there should be a line where dump.log is mentioned. Something like:
Writing checkpoint logs to /var/lib/containers/storage/overlay-containers/e6463dc939fdcdf895fc549f907d4f825c9a3d1e9197240844b892a940a0361f/userdata

Maybe also a listing of the content of the checkpoint directory.

# podman ps -a
CONTAINER ID  IMAGE                                COMMAND  CREATED        STATUS            PORTS  NAMES
6767c3669a50  quay.io/nerijus/teamviewer10:latest  bash     2 seconds ago  Up 2 seconds ago         tv10
# podman container checkpoint -k tv10
6767c3669a50630dc3cc8df95acb10a7db8ae41214b3ae655c30d18c7a4d163e
# ls -l dump.log  checkpoint
ls: cannot access 'dump.log': No such file or directory
ls: cannot access 'checkpoint': No such file or directory
# podman ps -a
CONTAINER ID  IMAGE  COMMAND  CREATED  STATUS  PORTS  NAMES

There is no "Writing checkpoint logs" with --log-level debug. After checkpoint I see this:
DEBU[0033] Checking container d379c38c493ed7ec681cba659baa26f9be9fea9ab52e7999159d14633cba0320 status...
DEBU[0033] Cleaning up container d379c38c493ed7ec681cba659baa26f9be9fea9ab52e7999159d14633cba0320
DEBU[0033] Network is already cleaned up, skipping...
DEBU[0033] Storage is already unmounted, skipping...
DEBU[0033] Storage is already unmounted, skipping...
DEBU[0034] [graphdriver] trying provided driver "overlay"
DEBU[0034] overlay test mount with multiple lowers succeeded
DEBU[0034] backingFs=extfs, projectQuotaSupported=false, useNativeDiff=true

Interesting. Not sure what is happening, yet.
Which distribution do you have, which version of Podman and which version of CRIU?

F29, podman-<IP_ADDRESS>-1.git9551f6b.fc29.x86_64, criu-3.11-1.fc29.x86_64.

On F29 I see the following:
[root@fedora29 ~]# podman run -it -d alpine top
6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30
[root@fedora29 ~]# podman --log-level debug container checkpoint -l
DEBU[0000] Initializing boltdb state at /var/lib/containers/storage/libpod/bolt_state.db
DEBU[0000] Using graph driver overlay
DEBU[0000] Using graph root /var/lib/containers/storage
DEBU[0000] Using run root /var/run/containers/storage
DEBU[0000] Using static dir /var/lib/containers/storage/libpod
DEBU[0000] Using tmp dir /var/run/libpod
DEBU[0000] Set libpod namespace to ""
DEBU[0000] [graphdriver] trying provided driver "overlay"
DEBU[0000] overlay test mount with multiple lowers succeeded
DEBU[0000] backingFs=extfs, projectQuotaSupported=false, useNativeDiff=true
INFO[0000] Found CNI network podman (type=bridge) at /etc/cni/net.d/87-podman-bridge.conflist
DEBU[0000] Trying to checkpoint container 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30
DEBU[0000] Writing checkpoint to /var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata/checkpoint
DEBU[0000] Writing checkpoint logs to /var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata
DEBU[0000] Checkpointed container 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30
DEBU[0000] Cleaning up container 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30
DEBU[0000] Tearing down network namespace at /var/run/netns/cni-0fcc1cd4-ae21-0bb5-dbbc-9a993631fa98 for container 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30
INFO[0000] Got pod network &{Name:focused_carson Namespace:focused_carson ID:6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30 NetNS:/var/run/netns/cni-0fcc1cd4-ae21-0bb5-dbbc-9a993631fa98 PortMappings:[] Networks:[] NetworkConfig:map[]}
INFO[0000] About to del CNI network podman (type=bridge)
DEBU[0000] unmounted container "6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30"
DEBU[0000] Successfully cleaned up container 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30
6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30
[root@fedora29 ~]# podman --log-level debug container restore^Cl
[root@fedora29 ~]# podman ps
CONTAINER ID  IMAGE  COMMAND  CREATED  STATUS  PORTS  NAMES
[root@fedora29 ~]# podman --log-level debug container restore -l
DEBU[0000] Initializing boltdb state at /var/lib/containers/storage/libpod/bolt_state.db
DEBU[0000] Using graph driver overlay
DEBU[0000] Using graph root /var/lib/containers/storage
DEBU[0000] Using run root /var/run/containers/storage
DEBU[0000] Using static dir /var/lib/containers/storage/libpod
DEBU[0000] Using tmp dir /var/run/libpod
DEBU[0000] Set libpod namespace to ""
DEBU[0000] [graphdriver] trying provided driver "overlay"
DEBU[0000] overlay test mount with multiple lowers succeeded
DEBU[0000] backingFs=extfs, projectQuotaSupported=false, useNativeDiff=true
INFO[0000] Found CNI network podman (type=bridge) at /etc/cni/net.d/87-podman-bridge.conflist
DEBU[0000] Trying to restore container 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30
DEBU[0000] Restoring container with IP=<IP_ADDRESS>
DEBU[0000] Made network namespace at /var/run/netns/cni-cc50d539-fa39-b2eb-52a7-39dc40580e10 for container 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30
INFO[0000] Got pod network &{Name:focused_carson Namespace:focused_carson ID:6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30 NetNS:/var/run/netns/cni-cc50d539-fa39-b2eb-52a7-39dc40580e10 PortMappings:[] Networks:[] NetworkConfig:map[]}
INFO[0000] About to add CNI network cni-loopback (type=loopback)
INFO[0000] Got pod network &{Name:focused_carson Namespace:focused_carson ID:6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30 NetNS:/var/run/netns/cni-cc50d539-fa39-b2eb-52a7-39dc40580e10 PortMappings:[] Networks:[] NetworkConfig:map[]}
INFO[0000] About to add CNI network podman (type=bridge)
DEBU[0000] mounted container "6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30" at "/var/lib/containers/storage/overlay/f138492bec7c9eac13080667a74a0445dae5aed2df0f473ddb8f9939910f964c/merged"
DEBU[0000] Created root filesystem for container 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30 at /var/lib/containers/storage/overlay/f138492bec7c9eac13080667a74a0445dae5aed2df0f473ddb8f9939910f964c/merged
DEBU[0000] [0] CNI result: Interfaces:[{Name:cni0 Mac:46:5a:2f:5b:3b:5c Sandbox:} {Name:veth84e85e70 Mac:56:37:b9:6c:84:95 Sandbox:} {Name:eth0 Mac:0e:5d:f8:74:67:f2 Sandbox:/var/run/netns/cni-cc50d539-fa39-b2eb-52a7-39dc40580e10}], IP:[{Version:4 Interface:0xc0004d49b8 Address:{IP:<IP_ADDRESS> Mask:ffff0000} Gateway:<IP_ADDRESS>}], Routes:[{Dst:{IP:<IP_ADDRESS> Mask:00000000} GW:<nil>}], DNS:{Nameservers:[] Domain: Search:[] Options:[]}
DEBU[0000] generate.NewFromFile at /var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata/config.json
DEBU[0000] Created OCI spec for container 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30 at /var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata/config.json
DEBU[0000] /etc/system-fips does not exist on host, not mounting FIPS mode secret
DEBU[0000] /usr/libexec/podman/conmon messages will be logged to syslog
DEBU[0000] running conmon: /usr/libexec/podman/conmon    args=[-s -c 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30 -u 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30 -r /usr/bin/runc -b /var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata -p /var/run/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata/pidfile -l /var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata/ctr.log --exit-dir /var/run/libpod/exits --exit-command /usr/bin/podman --exit-command-arg --root --exit-command-arg /var/lib/containers/storage --exit-command-arg --runroot --exit-command-arg /var/run/containers/storage --exit-command-arg --log-level --exit-command-arg error --exit-command-arg --cgroup-manager --exit-command-arg systemd --exit-command-arg --tmpdir --exit-command-arg /var/run/libpod --exit-command-arg --storage-driver --exit-command-arg overlay --exit-command-arg container --exit-command-arg cleanup --exit-command-arg 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30 --socket-dir-path /var/run/libpod/socket -t --log-level debug --syslog --restore /var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata/checkpoint]
INFO[0000] Running conmon under slice machine.slice and unitName libpod-conmon-6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30.scope
DEBU[0000] Received container pid: 15501
DEBU[0000] Restored container 6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30
DEBU[0000] Non-fatal: removal of checkpoint file (/var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata/dump.log) failed: remove /var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata/dump.log: no such file or directory
DEBU[0000] Non-fatal: removal of checkpoint file (/var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata/stats-dump) failed: remove /var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata/stats-dump: no such file or directory
6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30
[root@fedora29 ~]# podman ps
CONTAINER ID  IMAGE                            COMMAND  CREATED         STATUS             PORTS  NAMES
6f724578a797  docker.io/library/alpine:latest  top      31 seconds ago  Up 31 seconds ago         focused_carson
[root@fedora29 ~]#

If you try those commands, does that work? In this case the log file would be at: /var/lib/containers/storage/overlay-containers/6f724578a7972c75f5cfe848ec0ef6c71cec13e4b6190f5d7d63565bcf318e30/userdata/dump.log

It works, I get
DEBU[0000] Writing checkpoint to /var/lib/containers/storage/overlay-containers/9657e8d4443b9fa534591d5b38404b6e6c3325854dc96f18f49b25ca3c9c602e/userdata/checkpoint
DEBU[0000] Writing checkpoint logs to /var/lib/containers/storage/overlay-containers/9657e8d4443b9fa534591d5b38404b6e6c3325854dc96f18f49b25ca3c9c602e/userdata

but there is no dump.log:
ls -l /var/lib/containers/storage/overlay-containers/9657e8d4443b9fa534591d5b38404b6e6c3325854dc96f18f49b25ca3c9c602e/userdata/dump*
ls: cannot access '/var/lib/containers/storage/overlay-containers/9657e8d4443b9fa534591d5b38404b6e6c3325854dc96f18f49b25ca3c9c602e/userdata/dump*': No such file or directory

dump.log is only kept if you are running the checkpoint command with -k (or --keep).
But now it at least sounds like basic checkpoint/restore works on your system. Good. Can you now try the same commands with your container to see if that also works. This time please use -k, so that I can see the dump.log in case it fails. Please always include all the output from podman  --log-level debug for the checkpoint and restore command.

# podman run -ti -d --tmpfs /run --tmpfs /tmp --name tv10 \
       -e DISPLAY=$DISPLAY \
       -v /tmp/.X11-unix:/tmp/.X11-unix \
       -v /home/nerijus/.Xauthority:/home/tv/.Xauthority:ro \
       -v /etc/machine-id:/etc/machine-id:ro \
       -v /home/nerijus/.config/teamviewer10:/home/tv/.config/teamviewer10 \
       -v /opt/teamviewer10:/opt/teamviewer \
       teamviewer10 bash
ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35

# podman ps -a
CONTAINER ID  IMAGE                                COMMAND  CREATED        STATUS            PORTS  NAMES
ae0f769a71bb  quay.io/nerijus/teamviewer10:latest  bash     7 seconds ago  Up 6 seconds ago         tv10

# podman --log-level debug container checkpoint -k -l
DEBU[0000] Initializing boltdb state at /var/lib/containers/storage/libpod/bolt_state.db
DEBU[0000] Using graph driver overlay
DEBU[0000] Using graph root /var/lib/containers/storage
DEBU[0000] Using run root /var/run/containers/storage
DEBU[0000] Using static dir /var/lib/containers/storage/libpod
DEBU[0000] Using tmp dir /var/run/libpod
DEBU[0000] Set libpod namespace to ""
DEBU[0000] [graphdriver] trying provided driver "overlay"
DEBU[0000] overlay test mount with multiple lowers succeeded
DEBU[0000] backingFs=extfs, projectQuotaSupported=false, useNativeDiff=true
INFO[0000] Found CNI network podman (type=bridge) at /etc/cni/net.d/87-podman-bridge.conflist
DEBU[0000] Trying to checkpoint container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35
DEBU[0000] Writing checkpoint to /var/lib/containers/storage/overlay-containers/ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35/userdata/checkpoint
DEBU[0000] Writing checkpoint logs to /var/lib/containers/storage/overlay-containers/ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35/userdata
DEBU[0000] Checkpointed container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35
DEBU[0000] Cleaning up container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35
DEBU[0000] Tearing down network namespace at /var/run/netns/cni-3b63276a-64c0-c485-ec82-6fc7e4a493eb for container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35
INFO[0000] Got pod network &{Name:tv10 Namespace:tv10 ID:ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35 NetNS:/var/run/netns/cni-3b63276a-64c0-c485-ec82-6fc7e4a493eb PortMappings:[] Networks:[] NetworkConfig:map[]}
INFO[0000] About to del CNI network podman (type=bridge)
DEBU[0000] unmounted container "ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35"
DEBU[0000] Successfully cleaned up container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35
ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35
# podman ps -a
CONTAINER ID  IMAGE                                COMMAND  CREATED         STATUS                    PORTS  NAMES
ae0f769a71bb  quay.io/nerijus/teamviewer10:latest  bash     28 seconds ago  Exited (0) 292 years ago         tv10

# podman --log-level debug container restore ae0f769a71bb
DEBU[0000] Initializing boltdb state at /var/lib/containers/storage/libpod/bolt_state.db
DEBU[0000] Using graph driver overlay
DEBU[0000] Using graph root /var/lib/containers/storage
DEBU[0000] Using run root /var/run/containers/storage
DEBU[0000] Using static dir /var/lib/containers/storage/libpod
DEBU[0000] Using tmp dir /var/run/libpod
DEBU[0000] Set libpod namespace to ""
DEBU[0000] [graphdriver] trying provided driver "overlay"
DEBU[0000] overlay test mount with multiple lowers succeeded
DEBU[0000] backingFs=extfs, projectQuotaSupported=false, useNativeDiff=true
INFO[0000] Found CNI network podman (type=bridge) at /etc/cni/net.d/87-podman-bridge.conflist
DEBU[0000] Trying to restore container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35
DEBU[0000] Restoring container with IP=<IP_ADDRESS>
DEBU[0000] Made network namespace at /var/run/netns/cni-97fda67e-7ae6-6c9d-0aaf-357fdbf3bcd4 for container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35
INFO[0000] Got pod network &{Name:tv10 Namespace:tv10 ID:ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35 NetNS:/var/run/netns/cni-97fda67e-7ae6-6c9d-0aaf-357fdbf3bcd4 PortMappings:[] Networks:[] NetworkConfig:map[]}
INFO[0000] About to add CNI network cni-loopback (type=loopback)
INFO[0000] Got pod network &{Name:tv10 Namespace:tv10 ID:ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35 NetNS:/var/run/netns/cni-97fda67e-7ae6-6c9d-0aaf-357fdbf3bcd4 PortMappings:[] Networks:[] NetworkConfig:map[]}
INFO[0000] About to add CNI network podman (type=bridge)
DEBU[0000] mounted container "ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35" at "/var/lib/containers/storage/overlay/a216b960ad9b3bf5c4825031c32f8f9cf52a57ca94e517d46ade0b6b27ac71e3/merged"
DEBU[0000] Created root filesystem for container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35 at /var/lib/containers/storage/overlay/a216b960ad9b3bf5c4825031c32f8f9cf52a57ca94e517d46ade0b6b27ac71e3/merged
DEBU[0000] [0] CNI result: Interfaces:[{Name:cni0 Mac:26:70:55:1a:bb:e3 Sandbox:} {Name:vethda726da5 Mac:96:88:e7:9d:24:4d Sandbox:} {Name:eth0 Mac:d6:ab:85:0f:a3:7e Sandbox:/var/run/netns/cni-97fda67e-7ae6-6c9d-0aaf-357fdbf3bcd4}], IP:[{Version:4 Interface:0xc000452818 Address:{IP:<IP_ADDRESS> Mask:ffff0000} Gateway:<IP_ADDRESS>}], Routes:[{Dst:{IP:<IP_ADDRESS> Mask:00000000} GW:<nil>}], DNS:{Nameservers:[] Domain: Search:[] Options:[]}
DEBU[0000] generate.NewFromFile at /var/lib/containers/storage/overlay-containers/ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35/userdata/config.json
DEBU[0000] Created OCI spec for container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35 at /var/lib/containers/storage/overlay-containers/ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35/userdata/config.json
DEBU[0000] /etc/system-fips does not exist on host, not mounting FIPS mode secret
DEBU[0000] /usr/libexec/podman/conmon messages will be logged to syslog
DEBU[0000] running conmon: /usr/libexec/podman/conmon    args=[-s -c ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35 -u ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35 -r /usr/bin/runc -b /var/lib/containers/storage/overlay-containers/ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35/userdata -p /var/run/containers/storage/overlay-containers/ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35/userdata/pidfile -l /var/lib/containers/storage/overlay-containers/ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35/userdata/ctr.log --exit-dir /var/run/libpod/exits --exit-command /usr/bin/podman --exit-command-arg --root --exit-command-arg /var/lib/containers/storage --exit-command-arg --runroot --exit-command-arg /var/run/containers/storage --exit-command-arg --log-level --exit-command-arg error --exit-command-arg --cgroup-manager --exit-command-arg systemd --exit-command-arg --tmpdir --exit-command-arg /var/run/libpod --exit-command-arg --storage-driver --exit-command-arg overlay --exit-command-arg container --exit-command-arg cleanup --exit-command-arg ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35 --socket-dir-path /var/run/libpod/socket -t --log-level debug --syslog --restore /var/lib/containers/storage/overlay-containers/ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35/userdata/checkpoint]
INFO[0000] Running conmon under slice machine.slice and unitName libpod-conmon-ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35.scope
DEBU[0000] Cleaning up container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35
DEBU[0000] Tearing down network namespace at /var/run/netns/cni-97fda67e-7ae6-6c9d-0aaf-357fdbf3bcd4 for container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35
INFO[0000] Got pod network &{Name:tv10 Namespace:tv10 ID:ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35 NetNS:/var/run/netns/cni-97fda67e-7ae6-6c9d-0aaf-357fdbf3bcd4 PortMappings:[] Networks:[] NetworkConfig:map[]}
INFO[0000] About to del CNI network podman (type=bridge)
DEBU[0000] unmounted container "ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35"
ERRO[0001] failed to restore container ae0f769a71bb5660af66c017fcf89814b7c7131d9322f83e2009ca81ea879e35: error reading container (probably exited) json message: EOF

dump.log is https://sat.lt/dump.lo

Cool, so checkpointing works. It now fails in restore. Unfortunately the restore creates another log file. If you could also share restore.log which should be available right next to dump.log after the restore command has failed.

https://sat.lt/restore.lo

@avagin do you have an idea why the restore does not work? Have you seen errors like this before?

@nerijus what is your runc version?
(00.100843) Will take net namespace in the image

@adrianreber isn't criu not supposed to dump/restore the network namespace?

I think there was a recent runc bug fix. Which version of runc are you using? This could be https://github.com/opencontainers/runc/pull/1944

@adrianreber isn't criu not supposed to dump/restore the network namespace?

Too many negations in one sentence :wink: ; not sure I understand your question, but I think the runc version is new enough to contain the correct network namespace handling in combination with CRIU.
I tried to build an updated version of runc with the missing patch from https://github.com/opencontainers/runc/pull/1944 included:
https://koji.fedoraproject.org/koji/taskinfo?taskID=31556170
@nerijus can you rerun the restore with the updated runc package from the link above.

With updated runc restore worked successfully.

Building latest runc versions for F28 and F29 now.  We need to get this updated in RHEL8 as well.


Parent path continues to drill down depth with multiple conditionals

There is some confusion with depth. The parent path behaves differently when in a loop and when displaying a single piece of data. Additionally, the way that depth is created is not very clear.
The expected result of nesting one conditional within another is that the depth does not increase. If a loop was nested in a loop, then the increase of depth would make sense.
Here is an example of how depth works in a loop. When referencing the model value of options it is expected to use the ../ context to reach the root model. However, when nesting an additional (same model) conditional, it is unexpected to travel further down the depth to the ../../ context. Finally, once we've reached our final depth, the looped model still uses the root context (expected), but the same options model, when used as a value needs to have a context one level further down to ../../../, this is also unexpected.
{{#persons}}

        {{#if ../options.show_first_name}}
            {{#if ../../options.show_last_name}}
                {{#if ../../../options.show_phone_number}}
                    {{last_name}}, {{first_name}} {{phone_number}}

Show phone number? {{../../../../options.show_phone_number}}
                {{/if}}
            {{/if}}
        {{/if}}

{{/persons}}

Here is an example of a single model with nested conditionals. Like the looped model, each nested conditional is required to drill one level deeper in it's context. However, unlike the looped mode, once we reach the final depth, the options model can be used at the root depth.
{{#if options.show_first_name}}
    {{#if ../options.show_last_name}}
        {{#if ../../options.show_phone_number}}
            {{single.last_name}}, {{single.first_name}} {{single.phone_number}}

Show first name? {{options.show_first_name}}
        {{/if}}
    {{/if}}
{{/if}}

Here is a fiddle with both of these examples outlined.
I believe the ideal solution for this would be to keep the depth all in the same context. As an example, this would be loop:
{{#persons}}

        {{#if ../options.show_first_name}}
            {{#if ../options.show_last_name}}
                {{#if ../options.show_phone_number}}
                    {{last_name}}, {{first_name}} {{phone_number}}

Show phone number? {{../options.show_phone_number}}
                {{/if}}
            {{/if}}
        {{/if}}

{{/persons}}

And this a single
{{#if options.show_first_name}}
    {{#if options.show_last_name}}
        {{#if options.show_phone_number}}
            {{single.last_name}}, {{single.first_name}} {{single.phone_number}}

Show first name? {{options.show_first_name}}
        {{/if}}
    {{/if}}
{{/if}}

really annoying

what about making children scopes inherit all members of ancestors? that would make this problem go away, and it's easy to implement using javascript object prototype.

This behavior was changed under 4.0. See #1028

@kpdecker from what I understand the change is now .. will keep looking upwards, but my suggestion is to get rid of .. altogether, which I think is what others in the mustache family do too.
I want to do:
data = {
  baseUrl: 'site.com/',
  pages: [
    { url: 'faq' },
    { url: 'contact' },
  ]
}

var template = "{{#each pages}}    {{baseUrl}}{{url}}    {{/each}"

and have it work as expected, without having to specify `{{../baseUrl}}``, that easily achievable if each context inherits from its parent.

That particular behavior was implemented quite a while ago but is behind a
flag as it has significant performance impact. See the compat flag here
http://handlebarsjs.com/reference.html.
Many use cases don't need this level of performance, so each project can
make the decision on if the tradeoffs are worth it for each case.
On Mon, Feb 8, 2016 at 3:38 PM Benjamín Eidelman<EMAIL_ADDRESS>wrote:

@kpdecker https://github.com/kpdecker from what I understand the change
is now .. will keep looking upwards, but my suggestion is to get rid of ..
altogether, which I think is what others in the mustache family do too.
I want to do:
data = {
baseUrl: 'site.com/',
pages: [
{ url: 'faq' },
{ url: 'contact' },
]
}
var template = "{{#each pages}}    {{baseUrl}}{{url}}    {{/each}"
and have it work as expected, without having to specify {{../baseUrl}}`,
that easily achievable if each context inherits from its parent.
—
Reply to this email directly or view it on GitHub
https://github.com/wycats/handlebars.js/issues/583#issuecomment-181625502
.

oh nice! compat? sweet.
I see apparently this is not implemented using object prototype in which case cost would be insignificant, unfortunately I don't understand enough of the source code, but it's probably a huge refactor.
thanks!

I looked into proto for the cases where it was possible (most aren't
because we are dealing with arbitrary objects, not custom objects that we
control end to end) as well as a few other cases while implementing this to
try to optimize. The implementation that is there is the fastest, at least
for the engines that were available for test at the time of writing.
On Mon, Feb 8, 2016 at 3:50 PM Benjamín Eidelman<EMAIL_ADDRESS>wrote:

oh nice! compat? sweet.
I see apparently this is not implemented using object prototype in which
case cost would be insignificant, unfortunately I don't understand enough
of the source code, but it's probably a huge refactor.
thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/wycats/handlebars.js/issues/583#issuecomment-181629019
.


Frontend Testing : Add tests for localStorage and createStore

Delete commented out lines from setupTests.ts for simplicity.
Added tests for localStorage.ts and createStore.ts
Added warning messages for error in loading and saving to localStorage.

Pull Request Test Coverage Report for Build 1918

2 of 4 (50.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 27.874%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/localStorage.ts
1
3
33.33%

Totals

Change from base Build 1893:
0.2%

Covered Lines:
1417

Relevant Lines:
4398

💛  - Coveralls


Different permissions for folders downloaded by bower.

drwxr-xr-x  10 vj  staff   340B Nov 18 20:07 angular-sanitize/
drwxr-xr-x  11 vj  staff   374B Nov 18 20:07 angular-ui-router/
drwx------  10 vj  staff   340B Nov 18 20:07 animate-css/
drwxr-xr-x  11 vj  staff   374B Nov 18 20:07 d3/
drwx------  11 vj  staff   374B Nov 18 20:07 fontawesome/
drwxr-xr-x  21 vj  staff   714B Nov 18 20:07 html5-boilerplate/
drwx------  12 vj  staff   408B Nov 18 20:07 moment/
drwxr-xr-x  12 vj  staff   408B Nov 18 20:07 moment-timezone/
drwxr-xr-x  18 vj  staff   612B Nov 18 20:07 ng-csv/
drwxr-xr-x  15 vj  staff   510B Nov 18 20:07 ng-file-upload/
drwxr-xr-x  17 vj  staff   578B Nov 18 20:07 ng-table/
drwxr-xr-x   6 vj  staff   204B Nov 18 20:07 nvd3/
drwxr-xr-x   9 vj  staff   306B Nov 18 20:07 underscore/

$ bower -version
1.5.2
Temporary workaround: chmod -R 755 folder_name

I'm not sure what the issue is here?
Note that your bower version is old, current is 1.6.5

@faceleg I think the issue is the inconsistency in the permissions of the folders downloaded.

Yes but I'm asking if it occurs with the latest version.

Yes, it is still occurring after a bower update.
⌁ [vj.../app/bower_components] $ ls -l
total 0
drwxr-xr-x  12 vj  staff   408B Nov 22 18:34 angular/
drwxr-xr-x  10 vj  staff   340B Nov 22 18:34 angular-animate/
drwxr-xr-x  10 vj  staff   340B Nov 22 18:34 angular-aria/
drwxr-xr-x  20 vj  staff   680B Nov 22 18:34 angular-material/
drwxr-xr-x  11 vj  staff   374B Nov 22 23:30 angular-ui-router/
drwx------  12 vj  staff   408B Nov 23 01:26 moment/
⌁ [vj.../app/bower_components] $ bower -version
1.6.5

What issues does this cause for you?

when using nginx and pointing to this directory, it shows an error for lack of permissions on the folder.  Once I do the chmod, it is ok though.  So there is a temporary workaround.

While I understand that this is frustrating, it is generally considered bad practice to server your entire bower_components directory.
Much more secure to manually copy the files you need into public, or use a concatenation/minification tool to merge your JS into one file.

I use the bower components folder only during dev.  I usually refer to cdns on production.  So that's not really a huge concern.  Just that I saw this potential issue and thought I'll report it.

Sure thing, thank you for reporting!
@bower/bower-volunteers if someone would like to claim this and investigate the cause of this inconsistent permission issue?

@bower/bower-volunteers I need someone to confirm we can reproduce it.

I just tried to reproduce and was not able to do so using 1.6.5:
drwxr-xr-x 1 pertrai1 pertrai1 340 Nov 22 17:59 angular-sanitize
drwxr-xr-x 1 pertrai1 pertrai1 374 Nov 22 18:02 angular-ui-router
drwxr-xr-x 1 pertrai1 pertrai1 340 Nov 22 18:01 animate.css
drwxr-xr-x 1 pertrai1 pertrai1 374 Nov 22 18:01 d3
drwxr-xr-x 1 pertrai1 pertrai1 374 Nov 22 18:01 font-awesome
drwxr-xr-x 1 pertrai1 pertrai1 612 Nov 22 18:02 html5-boilerplate
drwxr-xr-x 1 pertrai1 pertrai1 408 Nov 22 18:02 moment
drwxr-xr-x 1 pertrai1 pertrai1 408 Nov 22 18:03 moment-timezone
drwxr-xr-x 1 pertrai1 pertrai1 612 Nov 22 18:03 ng-csv
drwxr-xr-x 1 pertrai1 pertrai1 646 Nov 22 18:04 ng-file-upload
drwxr-xr-x 1 pertrai1 pertrai1 748 Nov 22 18:04 ng-table
drwxr-xr-x 1 pertrai1 pertrai1 204 Nov 22 18:04 nvd3
drwxr-xr-x 1 pertrai1 pertrai1 306 Nov 22 18:04 underscore

My system info:
Operating System: Linux Mint 17.2 Cinnamon 64-bit
Linux Kernel: 3.16.0-38

My system where I saw the issue.
[vj:/tmp] $ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.10.5
BuildVersion:	14F1021

I'll trying to get deep in the issue...
@sathishvj , i see you have a group call staff could tell us what are the permission of the this group in the project folder?
And just to double check vj is actually in the staffgroups? have root acces?
I like to reproduce your group and user structure

It seems to be a group on macs.
https://discussions.apple.com/thread/2362727?tstart=0
http://apple.stackexchange.com/questions/130685/understanding-the-staff-user-group
$ dscacheutil -q group -a name staff
name: staff
users: root macports vj _xcsbuildagent _xcscredserver
user 'vj' does not have root access.

Just out of curiosity, and this may not be relevant at all, but when you initially installed bower did you do so using sudo, i.e. sudo npm install -g bower?

@sathishvj,  thanks for the links just until now i saw if the os x default group.
I'm yet looking reproduce the error, without success. Just to discard specific permission issues in your computer, could you verify and repair your computer permissions?
https://support.apple.com/en-us/HT201560
http://osxdaily.com/2015/01/13/repair-disk-permissions-mac-os-x/
To check the question of @bodieskate:
npm list -g bower

I'm on Mac OS X 10.11.2 and also unable to reproduce:
drwxr-xr-x  16 accommodavid  staff  544 Nov 25 19:23 ./
drwxr-xr-x   3 accommodavid  staff  102 Nov 25 19:23 ../
drwxr-xr-x  12 accommodavid  staff  408 Nov 25 19:23 angular/
drwxr-xr-x  10 accommodavid  staff  340 Nov 25 19:23 angular-sanitize/
drwxr-xr-x  11 accommodavid  staff  374 Nov 25 19:23 angular-ui-router/
drwxr-xr-x  10 accommodavid  staff  340 Nov 25 19:23 animate.css/
drwxr-xr-x  11 accommodavid  staff  374 Nov 25 19:23 d3/
drwxr-xr-x  11 accommodavid  staff  374 Nov 25 19:23 font-awesome/
drwxr-xr-x  18 accommodavid  staff  612 Nov 25 19:23 html5-boilerplate/
drwxr-xr-x  12 accommodavid  staff  408 Nov 25 19:23 moment/
drwxr-xr-x  12 accommodavid  staff  408 Nov 25 19:23 moment-timezone/
drwxr-xr-x  18 accommodavid  staff  612 Nov 25 19:23 ng-csv/
drwxr-xr-x  19 accommodavid  staff  646 Nov 25 19:23 ng-file-upload/
drwxr-xr-x  22 accommodavid  staff  748 Nov 25 19:23 ng-table/
drwxr-xr-x   6 accommodavid  staff  204 Nov 25 19:23 nvd3/
drwxr-xr-x   9 accommodavid  staff  306 Nov 25 19:23 underscore/

I just deleted my entire bower_components and node_modules and ran it again.  Still the same - those different permission.
If it's just me, I think we can close it until somebody else reopens it.  I have a workaround anyways.

@sathishvj Thank you for reporting it. We'll reopen as soon as there's someone else with the same issue. For now maybe try bower cache clean, rm -rf bower_components and reinstall packages.

Hi. I've been having the same issue for a while now. Specifically, some downloaded dependencies have their group mask set to rw- while others have it set to r--. The latter causes permission denied errors when copying the files to a different directory and then later trying to delete that directory.


Fix IRC notifications

Notifications didn't seem to be working as expected. Re-encrypt the config string and try again to see if this helps.

Did indeed fix the IRC notifications! :tada: :boom:


[Potential Bug] performance difference is quite significant for GPU and CPU schemes under horizontal federated learning

The two training schemes for horizontal federated learning - CPU and GPU, produce different models with quite different results w.r.t. evaluation accuracy. Potentially one of them does not align with the algorithm assumptions.
With the data, data split, and training scripts used in this example, the two schemes (train_hori_base.py v.s. train_hori_base_gpu.py) have the following training performance based on the same training data:
Horizontal federated with CPU
[0]	eval-auc:0.89789	train-auc:0.92732
[1]	eval-auc:0.89791	train-auc:0.92733
[2]	eval-auc:0.89791	train-auc:0.92733

Horizontal federated with GPU
[0]	eval-auc:0.90514	train-auc:0.92730
[1]	eval-auc:0.90515	train-auc:0.92731
[2]	eval-auc:0.90517	train-auc:0.92732

For reference, the baseline centralize training result (train_base.py and train_base_gpu almost the same results) is
[0]	eval-auc:0.90515	train-auc:0.92747
[1]	eval-auc:0.90517	train-auc:0.92748
[2]	eval-auc:0.90518	train-auc:0.92748

This may not be a bug that breaks the pipeline, but I think we may want to find out the root cause.

The result looks normal, can you run a few more rounds, like 32? The GPU can CPU are expected to reproduce different results.

I see, yeah I run with 50 rounds, and the discrepancies shrink after a few rounds.
The results at the end of 50 rounds are below:
centralized:            eval-auc:0.94752	train-auc:0.98835
centralized_gpu:   eval-auc:0.94812	train-auc:0.98840
hori:                        eval-auc:0.94707	train-auc:0.98883
hori_gpu:                eval-auc:0.94761	train-auc:0.98875

The results can be considered within expected range, closing this issue


Check whether the pdflatex exists.

I tested your package today and found it was very helpful. After configuration, however, I had to spend some time since I could not get correct results. It turned out that I only configured the directories where the pdflatex lives but did not specify pdflatex (i.e., /some/other/directory/ not /some/other/directory/pdflatex).  However, it did not warn me but yielded errors few lines after when it tried to run ghostscript(that is why I initially doubted that my ghostscript configuration was wrong). It would be nice if you add some codes that check whether pdflatex is correctly configured.  IMO, DirectoryQ[ path]` is sufficient for this check.
By the way, thank you for your nice package. I really like it.

Thanks for point this out.  I included a quick check to make sure the path points to a file (not a directory).
This part os the package needs to be reworked eventually, it is true that it only does a few rudimentary checks.


Automatic correction of beginning_of_month..end_of_month in private method failed

With the following code:
class HogeService
  private

  def hoge
    beginning_of_month..end_of_month
  end
end

If you run the command bundle exec rubocop -A, you will get the following error message.
An error occurred while Rails/ExpandedDateRange cop was inspecting /hoge.rb:48:4.
To see the complete backtrace run rubocop -d.

Expected behavior
It will be fixed as follows
class HogeService
  private

  def hoge
    all_month
  end
end

Actual behavior
When I executed the command rubocop --debug, I got the following message.
1 error occurred:
An error occurred while Rails/ExpandedDateRange cop was inspecting /hoge.rb:48:4.
Errors are usually caused by RuboCop bugs.
Please, report your problems to RuboCop's issue tracker.
https://github.com/rubocop/rubocop/issues

Mention the following information in the issue report:
1.14.0 (using Parser <IP_ADDRESS>, rubocop-ast 1.7.0, running on ruby 2.7.1 x86_64-darwin19)

Steps to reproduce the problem

Create Ruby file containing:

class HogeService
  private

  def hoge
    beginning_of_month..end_of_month
  end
end

Run bundle exec rubocop -A

RuboCop version
Include the output of rubocop -V or bundle exec rubocop -V if using Bundler.
If you see extension cop versions (e.g. rubocop-performance, rubocop-rspec, and others)
output by rubocop -V, include them as well. Here's an example:
$ rubocop -V
1.18.2 (using Parser <IP_ADDRESS>, rubocop-ast 1.7.0, running on ruby 2.7.1 x86_64-darwin19)
  - rubocop-performance 1.11.3
  - rubocop-rails 2.11.2
  - rubocop-rspec 2.4.0

I'm very sorry. The error was due to the method being overwritten. Please do not respond to this issue.


Fix bug in computing incomplete time entries.

Coverage remained the same at 87.983% when pulling 2c675eacb26c57be48a03eddc7e3cf07013a75cc on fix-time-bug into c46f460b7eae50c7a9769e6f8a73ef415119547b on master.

lgtm :)


Need a resolution for naughty drain names

James- you had mentioned that it looked like there was some code to filter out inappropriate word from drain names. I was able to adopt drains with cuss words. Is there any way to resolve this?

I was looking into what gem we might use for this when I found this article talking about how complex this issue is: https://blog.codinghorror.com/obscenity-filters-bad-idea-or-incredibly-intercoursing-bad-idea/
This is one of the top profanity filters: https://github.com/mobomo/profanity_filter
But their dictionary is....both too inclusive and not very inclusive at all. https://github.com/mobomo/profanity_filter/blob/master/config/dictionary.yml
What if Dick Cheney wanted to name his drain Dick Cheney Jr.? Not allowed.
But if someone wanted to call it d1ck, it would be allowed by this filter.
Can we brainstorm a way around this that doesn't involve a programmatic block or censor?

duplicate of #231


Make Positional Changes to Transaction Details

This is with regard to the thread, https://opencollective.slack.com/archives/C0312FG1UDU/p1646115414201339?thread_ts=1646068273.641869&cid=C0312FG1UDU. There were some design changes to transaction details especially to accommodate cases where only the transaction details are shown (no fiscal host or payment method). Example,

The new designs are given at, https://www.figma.com/file/KinuveYf4WUlRIXzMTnmIsmO/[OC-Design]-Lab?node-id=14055%3A217367
The main changes are,

The placement of the information has been flipped.
The font size has been increased to follow accessibility.
The icon for added funds has been updated.

@aminakazi : Small detail is that I've noticed that you've updated the icon for added funds. The new icon looks like,

whereas the old icon looks like,

Are you sure this is what we want? I am just wondering since to me the new icon seems small and have a bit of a hard time seeing it. 🤔


Latest store update 1.8.1521.0 caused problems with the installed preview Terminal

Windows Terminal version (or Windows build number)
10.0.19042.0, 1.8.1521.0
Other Software
Windows Terminal Preview
Steps to reproduce
Yesterday I got a new Windows Terminal update via the store:

My wt.exe suddenly pointed to the installed preview version of Windows Terminal instead my default stable one:
I'm using the following shortcut: %LOCALAPPDATA%\Microsoft\WindowsApps\wt.exe
Expected Behavior
When starting wt.exe, the stable Windows Terminal should launch
Actual Behavior
When starting wt.exe, the preview version of the Windows Terminal comes up
Thanks to the different icons I saw it, that the wrong version comes up.
I uninstalled Windows Terminal Preview and installed it again - the problem was gone.

This seems to be another symptom of /dup #10243. Sorry about that.


trigger deploy to pypi using travis.ci

Currently the install method is git clone <repo> but this uses the "default" branch witch  is current master. I'd like to make the default branch dev so this is what pull requests are made against. Here's a script to make deploying to pypi easy so the install setup could be pip install donkeycar
http://romgar.github.io/presentations/pypi_deployment/#slide10

I can have a look at this if you want

This would be great. I Switched back to travis-ci in the dev branch because circle ci doesn't test pull requests.
Yes both assumptions are correct.

This now works. Thanks @joekickass


emplace->emplace_back , std::move(unnecessary)

 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.root seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Please sign CLA, thanks!

It seems not everyone signs CLA for this pull request.

One simplest way to sigh CLA is during sigh in Github.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.2 out of 3 committers have signed the CLA.:white_check_mark: startcode:white_check_mark: lianglia-apollo:x: rootroot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.3 out of 4 committers have signed the CLA.:white_check_mark: startcode:white_check_mark: lianglia-apollo:white_check_mark: xxxx001:x: rootroot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

the root  cla  not  delete .


Oracle and ${flyway.database} placeholder

The Oracle JDBC driver returns a hard-coded null to getJdbcConnection().getCatalog(). This means that the Flyway placeholder ${flyway.database} will never be populated. We've had a suggestion that we should use the result of
select host_name from v$instance (or v$database?)
instead.

Adding to v7 as this will require an API change to Database


Slowness when using globals on cwd option of src

Hi,
I notice that my script is getting extremely slow when I use the cwd option for src. It might be because I don't use the right way to do what I want but couldn't find any better solution.
I am trying to move assets from located under a folder 'node_modules' to an output folder 'css' and keep the folder hierarchy.
For example:
copy the file 'node_module/bootstrap/dist/css/bootstrap.min.css'
to the folder 'www/css/bootstrap/dist/css/bootstrap.min.css'
My complete code is the following:
var config = {
  sourceDir: './app/',
  buildDir: './www/',

  styles: {
    src: 'app/css/**/*.scss',
    dest: 'www/css'
  },

  libs: {
    styles: [
      'bootstrap/dist/css/bootstrap.min.css',
      'bootstrap/dist/css/bootstrap.min.css.map',
      'jquery-ui/themes/flick/jquery-ui.min.css',
      'jquery-ui/themes/flick/images/ui-bg_flat_75_ffffff_40x100.png',
      'tag-it/css/jquery.tagit.css',
      'fullcalendar/dist/fullcalendar.css',
      'bootstrap-daterangepicker/daterangepicker-bs3.css',
      'bootstrap/dist/fonts/glyphicons-halflings-regular.woff2',
      'bootstrap/dist/fonts/glyphicons-halflings-regular.woff',
      'bootstrap/dist/fonts/glyphicons-halflings-regular.ttf',
      'select2/select2.css',
      'select2/select2.png',
      'select2/select2-spinner.gif',
      'ng-img-crop/compile/minified/ng-img-crop.css',
      'angular-toggle-switch/style/bootstrap3/angular-toggle-switch-bootstrap-3.css',
      'textangular/dist/textAngular.css',
      'css-progress-wizard/css/progress-wizard.min.css',
      'angular-ui-tree/dist/angular-ui-tree.min.css',
      'theme-application/dist/toolkit.min.css',
      'theme-application/docs/assets/css/application.css',
      'theme-application/dist/toolkit.min.css.map',
      'theme-application/fonts/toolkit-entypo.woff2',
      'theme-application/fonts/toolkit-entypo.woff',
      'theme-application/fonts/toolkit-entypo.ttf',
      'less-space/dist/less-space.min.css',
      'videogular/app/styles/themes/default/videogular.css'
    ]
}

gulp.task('lib_styles', function() {
  return gulp.src(config.libs.styles, {cwd: 'node_modules/**'})
    .pipe(gulp.dest(config.styles.dest));
});

When I replace the line:
  return gulp.src(config.libs.styles, {cwd: 'node_modules/**'})

with the line:
  return gulp.src(config.libs.styles, {cwd: 'node_modules/'})

It takes 36ms instead of 22s but I loose all the hierarchy.
Any idea what I am doing wrong?
Thanks!

Support questions should be directed to StackOverflow.  However, it sounds like you are looking for the base option, not cwd - https://github.com/gulpjs/vinyl-fs#optionsbase

Thanks for the quick feedback. Will post on StackOverflow, I tried base without success. I read base only works with files that have globals in their path, but I don't.

base is automatically determine if you use globs.  If you aren't using globs, you use the base options to manually set it.  I notice that none of your "styles" paths have "node_modules" appended to them, which is why base wouldn't be working and why you needed cwd before.  I hope StackOverflow can help you sort everything out.

Thanks a lot mate, this is the one combination I hadn't tried! Solved it.


Anomaly Detection Using Isolation Forest

Objective: Enhance fraud detection by integrating the Isolation Forest algorithm to identify potential fraudulent transactions before logistic regression.
Description:

Data Preprocessing
Isolation Forest Implementation
Integration with Logistic Regression
Evaluation

Steps:

Data Preprocessing:

Handle missing values, normalize data, and encode categorical variables.

Isolation Forest Training:

Train Isolation Forest on transaction features.

Feature Integration:

Add anomaly scores to the logistic regression training set.

Model Training:

Train and evaluate the combined model.

Deployment:

Update deployment scripts to include anomaly detection.

This feature will pre-filter suspicious transactions, enhancing fraud detection robustness.

Hi, i created this issue, please assign it to me under GSSOC'24.


CHAOS REPORT:

Is there an actual issue here?

[X] I have verified this isn't part of ChaosWeb's intentional disorder

Describe the unexpected!
ddf
Confirm

[X] I understand ChaosWeb is intentionally designed to be messy
[X] I agree to follow this project's Code of Conduct
[X] I found a genuine bug amidst the chaos
[X] I'm enjoying the mess!
[X] I'm GSSOC'24 Extd registered Contributor
[X] I'm Hacktoberfest registered Contributor

Go ahead


Ability to rethrowing errors in a .catch block

Hey guys! Just started learning Swift with a deep NideJS background and encounter that a closure in a .catch block doesn't marked with throws keyword, so i am unable seamlessly wrap errors on a different application tiers without wrapping all into a new promise instance, its kinda boilertrape
Please take a look at a .catch capabilities in a BluebirdJS promises http://bluebirdjs.com/docs/api/catch.html and maybe we could work on some new features:

rethrowing errors
recovering from an error state and proceed in the following .then block
filtering errors by a given ErrorType as an argument

Providing example from my code:
struct PasswordAuthenticationStrategy: AuthenticationStrategy {
    let email: String
    let password: String
    let api: API = API()

    func issueTokenAsync() -> Promise<Token> {
        return Promise<Token>() {
            resolve, reject in
            api.callEndpointAsync(Endpoint.SignIn(email: email, password: password))
            .then {
                (response: EmptyResponse) -> () in
                let cookieHeader = response.headers["Set-Cookie"]!
                resolve(API.extractAuthCookie(cookieHeader))
            }
            .error {
                err in
                if let apiError = err as? APIError,
                case .ServerError(let code, _) = apiError {
                    switch code {
                    case "invalid_credentials": reject(AuthError.InvalidCredentials)
                    case "trial_expired": reject(AuthError.TrialExpired)
                    case "payment_required": reject(AuthError.TrialExpired)
                    default: reject(AuthError.UnexpectedServerError(apiError: apiError))
                    }
                } else {
                    reject(err)
                }
            }
        }
    }
}

As you can see my Authentication layer encapsulate http error details(such as codes and messages) from a client perspective(which is an UI layer with a login button for example)
Hello @mxcl! what do you think?

Use recover.

Closing as I believe recover does what you want. I have added an FAQ entry for this question.

filtering errors by a given ErrorType as an argument

This feature we do not have, but that would be a welcome addition.


Update feature matrix to mention that the AAF adapter now supports markers

Update the feature matrix to show that the AFF adapter now supports markers.
Signed-off-by: Jean-Christophe Morin<EMAIL_ADDRESS>

Codecov Report

Merging #1309 (ea4d54a) into main (a58b0fc) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1309   +/-   ##
=======================================
  Coverage   86.17%   86.17%
=======================================
  Files         195      195
  Lines       19806    19806
  Branches     2313     2313
=======================================
  Hits        17068    17068
  Misses       2174     2174
  Partials      564      564

Flag
Coverage Δ

py-unittests
86.17% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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 a58b0fc...ea4d54a. Read the comment docs.


camerad: don't remap everything every time

The CI failure is...
./camerad                            25.28% (41.00%) using less CPU than normal

@pd0wm Might be worth merging for 0.8.14, cached the config memory like you suggested, big CPU savings!


Needed to create help directory to succeed

Excellent piece of work sir!
Stalled on this, guessed to create the help directory, reran and it worked.
out-file : Could not find a part of the path 'C:\Users\dfinke\Downloads\psDoc-master\src\help\index.html'.
At C:\Users\dfinke\Downloads\psDoc-master\src\psDoc.ps1:54 char:1
+ Invoke-Expression $template > "$outputDir\$fileName"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OpenError: (:) [Out-File], DirectoryNotFoundException
    + FullyQualifiedErrorId : FileOpenFailure,Microsoft.PowerShell.Commands.OutFileCommand

Yes, currently the $outputDir must first exist.

you could do a
if (-not (Test-path -Path (Split-Path -Path $output -Parent))) {
    try {
        New-Item -Path (Split-Path $output -parent) -ItemType Directory -ErrorAction Stop
    } catch {
        Write-Error -Message $Error[0].ToString() -ErrorAction Stop
    }
}

rather then having to open and debug your code to see why its failing, and so you could do .\psDoc -ModuleName MySpecialModule
or better yet, get the Module Invocation and put it there.
just my two cents, looks really good after I got the output.

It's named index.html so that it can be directly dumped to some web server and update automatically.
The parameters are there for your customization, and at the time I built it, I had a reason for not creating the directory automatically, but I can't remember why.

Index makes sense.
Sent from my iPhone

On Apr 12, 2016, at 1:46 PM, Chase Florell<EMAIL_ADDRESS>wrote:
It's named index.html so that it can be directly dumped to some web server and update automatically.
The parameters are there for your customization, and at the time I built it, I had a reason for not creating the directory automatically, but I can't remember why.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub

This could also be a quick way to tackle it. (untested)
New-Item $outputDir -ItemType directory -ea SilentlyContinue
Invoke-Expression $template > "$outputDir\$fileName"


Is this module deprecated/unmaintained?

No response for over a year in the opened issues, documentation errors and other commits in a while. Is this module being maintained?
If not, you should notify users about it in readme and in the NPM, I see a lot of active downloads for this module in its profile and a lot of developers may might experience troubles in future updates in NodeJS itself.

I am currently unable to maintain this project due to a contractual intellectual property clause that would run the risk of me automatically transferring ownership to Amazon if I modified the code. (I think I can get an exemption but its a process, one of the downsides of big software companies is it makes it hard to do open source sometimes). But I welcome collaborators who can help out. I just added one new collaborator who reached out, and if you are interested in becoming a collaborator as well let me know!

I'm taking a look right now and testing PRs. I will be working on fixes this week and start pushing out updates asap.

Great, I'll try to contribute and send PRs if we actually use this module in production.
Thanks for the responses!

Closing this since we are actively maintaining this package

It seems it is not actively maintained anymore.


What about setting «is opt accept value or not»

Now i must insert -- between opts and some arg vithout corresponding option
e.g.: css2stylus --unPrefix -f -- tmp.css
In time, where classic gnu getopt has this setting:
e.g.: getopt 'sivp:u', where p is marked as accepted value
Thank you and excuse my beginner's English!

Note that css2stylus is using an older version of yargs (version 1.2.2 to be precise), which did not allow you to configure an argument to be parsed as a boolean, resulting in greedy value slurping.
As of yargs version 3.5.2, you can do something like (notice the use of boolean()):
var argv = require('yargs')
  .describe('u', 'Un-prefix any property with vendor prefixes.')
  .alias('u', 'unPrefix')
  .boolean('u')
  .describe('f', 'Overwrite existing .styl files')
  .alias('f', 'force')
  .boolean('f') // THIS FIXES IT
  .argv

console.dir(argv)

Which would produce this result:
$ node example.js --unPrefix -f tmp.css
{ _: [ 'tmp.css' ],
  f: true,
  force: true,
  unPrefix: true,
  u: true,
  '$0': 'index2.js' }

Please open an issue (or possibly a pull request) on css2stylus.js to upgrade its yargs dependency to the latest version.

Wow, thank you!
This works, as expected.


"append" is undefined when fn.addOption function is used

Caused by element being referenced directly instead of being passed to the WebUI constructor.

Fixed.


'Enable Microsoft Flow' section missing from System Settings > Customization

The 'Enable Microsoft Flow' section does not appear under the System Settings > Customization tab for me (System Administrator).  Just Application mode and Plug-in tracing are there.  Instance is Version 1710 (<IP_ADDRESS>8) online.  I can connect to the environment from MS Flow and have created a Flow that runs successfully on record update.  I need to see the Flow button in the form toolbars but cannot enable it as the option does not appear in System Settings.  (Can see it in action in other similar instances - can't work out what I'm missing for this environment...)

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2ef1c226-f05e-a633-4e43-577d54e107cf
Version Independent ID: 52b5fb9b-979f-5f12-cb25-68bc2798ce42
Content: Enable embedded Flow in your Dynamics 365 for Customer Engagement apps organization
Content Source: ce/admin/enable-embedded-flow-in-your-organization.md
Service: crm-online
GitHub Login: @Mattp123
Microsoft Alias: matp

Thanks for contacting us. There is nothing that I can think of that would prevent the Flow enable option from appearing on the Customizations tab for your instance and your version is applicable for the feature. Unfortunately, we're unable to handle Support requests for the product here. To contact Support, consider one of the options described here: https://docs.microsoft.com/dynamics365/get-started/support/
Closing this issue.

Thanks.  I did contact support and they acknowledged it was a bug affecting a minority of scale groups and made sure a fix was in the next upgrade they rolled out.
Also of interest, although not a solution in my case, was that in the new admin.powerplatform.microsoft.com Settings area for an environment, there is a Show Microsoft Flow on forms and in the site map enable option in the Behaviour section.
Don’t know if I (or you?) can update the thread now it’s closed – the above might be of use to someone else googling a similar issue.
Thanks again!
From: Matt Peart<EMAIL_ADDRESS>Sent: 26 February 2019 22:54
To: MicrosoftDocs/dynamics-365-customer-engagement<EMAIL_ADDRESS>Cc: Rebecca Fishley<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/dynamics-365-customer-engagement] 'Enable Microsoft Flow' section missing from System Settings > Customization (#658)
Thanks for contacting us. There is nothing that I can think of that would prevent the Flow enable option from appearing on the Customizations tab for your instance and your version is applicable for the feature. Unfortunately, we're unable to handle Support requests for the product here. To contact Support, consider one of the options described here: https://docs.microsoft.com/dynamics365/get-started/support/
Closing this issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/dynamics-365-customer-engagement/issues/658#issuecomment-467648608, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ArXQMdP04tG612J4Z6NWRJrmkCdjip90ks5vRbrtgaJpZM4Z1bOV.
Disclaimer: This message (including attachments) may contain information that is privileged, confidential or protected from disclosure. If you are not the intended recipient, you are hereby notified that dissemination, disclosure copying, distribution or use of this message or any information contained in it is strictly prohibited. If you have received this message from m-hance in error, please immediately notify the sender by reply email and delete this message from your computer. Any opinions expressed in this email are solely those of the author. Although we have taken steps to ensure that this email and attachments are free from any virus, we advise that in keeping with good computing practise the recipient should ensure they are actually virus free. M-Hance Ltd - Company No. 1369937, Registered Offices at: Trinity House, Bredbury Park Way, Stockport, SK6 2SN (Registered In England & Wales)


Missing Functions under eosio namespace when following hello tutorial.

I'm trying to add either the C or C++ functionality to read messages in the hello tutorial, and both are throwing errors.  For brevity I'll just supply the C++ version, but neither are working:
/**
 *  @file
 *  @copyright defined in eos/LICENSE.txt
 */
#include <hello.hpp>

/**
 *  The init() and apply() methods must have C calling convention so that the blockchain can lookup and
 *  call these methods.
 */
extern "C" {
    /**
     *  This method is called once when the contract is published or updated.
     */
    void init()  {
       eosio::print( "Init World!\n" );
    }

    struct transfer {
       eosio::name from;
       eosio::name to;
       uint64_t quantity;
    };

    /// The apply method implements the dispatch of events to this contract
    void apply( uint64_t code, uint64_t action ) {
       eosio::print( "Hello World: ", eosio::name(code), "->", eosio::name(action), "\n" );
       if( action == N(transfer) ) {
          auto message = eosio::current_message<transfer>();
          eosio::print( "Transfer ", message.quantity, " from ", message.from, " to ", message.to, "\n" );
       }
    }

} // extern "C"

This is giving me:

hello.cpp:29:33: error: no member named 'current_message' in namespace 'eosio'
          auto message = eosio::current_message<transfer>();
                         ~~~~~~~^
hello.cpp:29:49: error: 'transfer' does not refer to a value
          auto message = eosio::current_message<transfer>();
                                                ^
hello.cpp:19:12: note: declared here
    struct transfer {
           ^
hello.cpp:29:59: error: expected expression
          auto message = eosio::current_message<transfer>();
                                                          ^
3 errors generated.

When I try to compile.  As I said, using the C syntax results in:
hello.cpp:32:23: error: use of undeclared identifier 'readMessage'
          auto read = readMessage( &message, sizeof(message) );
                      ^
1 error generated.

Any help appreciated.

i have this problem too .....

smart contracts aren't really written this way anymore, now annotations are used to define actions for the ABI.  At any rate, it's been a long time since I posted this issue (it was Dawn2 days), so I don't remember how I fixed it.  I'd recommend following @nsjames videos to get up and running as quickly as possible using Dawn3:
https://www.youtube.com/watch?v=glB6UPHo1rA&list=PLvpGYhOe8UbsKmsYW98dM1yt1sEbeNqIq

Yes, this issue is obsolete because the smart contract api has changed. If you encounter a similar problem with latest eosio, please open a new issue. I'm closing this issue. Thanks!


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-2.x" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 473

Questions ?
Please refer to the Backport tool documentation


Vertical Volume

This is simply a vertical volume bar. Will give more possibility to custom design.

Hi, where can I find the documentation for Vertical volume bar ? Thank you


Fix null-safety bug

This we throwing a compile error without the '!'.

Going to work on getting a package update out over next couple of days (we just had a child, hands a little full at the moment).

Congratulations! No rush! That kiddo has priority for sure! :) Thanks for getting it merged in in the meantime!

@mclark4386 apologies it took so long, but just published your PR fix https://pub.dev/packages/us_states/versions/1.1.5
thanks again!


Error with datetime object in Locate Data, Linux version

Describe the issue
When adding a folder with date and f-string for getting the date at the Locate Data screen, the API endpoint /locate fails. It seems to be because the DeepDict object stores the date as a datetime object which can't be serialized to JSON format.

Steps to Reproduce

Create a new conversation pipeline
Check both 'Would you like to locate these sessions programmatically' - Yes
Video - VideoInterface format
Choose base directory and string path
When it tries to automatically list the files, it fails

Operating System
Ubuntu 20.04.6 LTS
GUIDE Version
linux-latest
Code of Conduct
Yes
Did you confirm this issue was not already reported?
Yes

@iezqrom I'm having trouble reproducing this
Can you provide the exact f-string used?
If you can record a video of your screen during the process leading up to the error, that also helps tremendously

This is the f-string:
Subjects/{subject_id}/{session_start_time:%Y-%m-%d}/{session_id}/raw_video_data/{condition}/{}.mp4
here's a screenshot of my data structure folder:

Video during process leading up to video and console logs

@iezqrom OK, we've fixed the issue in #686
We'll evaluate how soon we can cut another stable release with this fix - otherwise to get the feature you would need to return to the linux-dev branch once it gets merged, just be aware that there might be more bugs than there are on the last release

Great! Glad this helped. I'm watching pull requests so hopefully I can see when you PR to the linux-latest branch (:

@iezqrom The new latest-linux branch (equivalent to linux-v0.15.0) has been released with this fix included!


Attempt to make gimlets fails.

Had Calcuttas in inventory, failed after verifying ingredients (with no waters, just soda, and just tonics in inventory).
Verifying ingredients for gimlet (1)...
Verifying ingredients for gin and tonic (1)...
Creating gin and tonic (1)...
Creation failed, no results detected.

Sorry it's late, should've directed this to KoL in general of course.


Add gpu and node tag configuration support

Description
Added support for gpu configuration on Vertex AI by adding node_selectors section and gpu entry in vertexai.yml configuration file, which enables to configure and select gpu accelerator for Vertex AI job. Also added support for configuration of resources and node selectors with node tags in addition to node names.
PR Checklist

[x] Tests added
[x] Changelog updated

Overall, it looks good. A few comments added.


Update raid-data-tracker to 1.4.3

Added some checks to disable plugin functionality when on Beta worlds and reduced icon size.

Please don't close and open new PRs. Just push to the same repo and the bot will pick it up.

I did not purposefully close the PR. I was re-syncing my branch so I could avoid duplicating the commit message and it closed itself.

The old icon was named icon.png on purpose, we only look for that as a possible name, your newly named icon won't be used for it's intended purpose


Create sign up and login component

Creation of a new component that allows users to login using their current private key or the ability to generate a new private and public key for a new account. The private and public key are moved from the current component to the App component for the ability of use in other components. The app component now displays the public key as well as a logout button that removes the keys from state as well as local storage.

@taylorpage Gotta sign all of your commits

@taylorpage I think we've having some rebase issues again... I left the hyperledger:signup-login branch w/ 7 commits ahead of hyperledger:master, but this PR seems to be bringing in 24 commits 🤔

Closes #40.


Add Vagrant support for Development

This is an initial pass at a Vagrant/Ansible powered dev environment. You can vagrant up and start hacking. It could be broken down into roles and parameterised more, but for now it works for me

Hey @mheap, we used to have a Vagrant/Puppet setup but we got rid of it because nobody was maintaining it. Let me think a while on if I want this as an option again.

No worries, I built this mainly for myself and thought I'd contribute it back. I'm also happy to maintain it going forward.
If you want to remove the dependency on having Ansible installed locally, I can move that requirement into the VM to make it closer to the Vagrant/Puppet way of doing things.

Here's another option that will is maintained by Laravel: http://www.joeferguson.me/install-homestead-into-your-project. Joe just added support for including homestead as a dev-dependency for exactly this use-case; an open-source project that wants a common baseline development environment. We don't run into a lot of problems here due to environmental differences, so we haven't had as much of a need for it I guess.
My primary motivations would be:

I either want chosen tech to be something that anybody can quickly pick up and maintain. (no craaaaazy puppet modules, super complicated ansible playbooks, etc.)
I'd rather not maintain it at all! :smile: I need whatever is chosen to put the focus on OpenCFP immediately. Not something I have to fight with before I get to work on OpenCFP.
Having a recommended development environment would help tremendously at hackathons; especially for newer contributors.

I think that if we want to include a default development environment, we should look into what Joe's done. Looks pretty solid.

Providing a dev environment is out-of-scope for the project in my opinion, closing the PR


nix-update: 0.3.1 -> 0.3.2

Motivation for this change
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108867 run on x86_64-linux 1

1 package built:

nix-update

This is a semi-automatic executed nixpkgs-review which does not build all packages (e.g. lumo, tensorflow or pytorch)
If you find some bugs or got suggestions for further things to search or run please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 108867 run on x86_64-linux 1

1 package built:

nix-update

If nixUnstable has also been backported in stable, than a backport is required.

If nixUnstable has also been backported in stable, than a backport is required.

No clue. Not using stable.

No clue. Not using stable.


prismlauncher-unwrapped: 9.0 -> 9.1

https://github.com/PrismLauncher/PrismLauncher/releases/tag/9.1
https://github.com/PrismLauncher/PrismLauncher/compare/9.0...9.1
This release does not actually include any code changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 350959

x86_64-linux

:white_check_mark: 2 packages built:

prismlauncher
prismlauncher-unwrapped


Add redirects functionality

uSeoToolkit should also have redirects functionality. We can take the functionality from SimpleRedirects (my other package) and use it here with a different interface.
SimpleRedirects will still exist and will be able to also gain from the changes in this package

Added with this commit: https://github.com/patrickdemooij9/uSeoToolkit.Umbraco/commit/912b34cd66ff73f55347a8abd92dafb1d93d420c