Refactor cluster networking

The most important change is to use NIM to configure the cluster IP address.
See commit messages for more description.

to convert the nodes back to single-node kubernetes, do this:
   zcli edge-node update plex3-7050m --config=edgenode.cluster.config.base64:default
   zcli edge-node update plex2-7050m --config=edgenode.cluster.config.base64:default
   zcli edge-node update plex1-7050m --config=edgenode.cluster.config.base64:default

to convert the nodes from single-node to cluster using 'eth1', do this, i used to do plex1, first, plex2 2nd, and wait to see if they are converted ok.
  zcli edge-node update plex1-7050m --config=edgenode.cluster.config.base64:"eyJDbHVzdGVyTmFtZSI6InRlc3QtbGF0ZXN0LXN5bmMiLCJDbHVzdGVySUQiOiJiMzEwMmJkYi01MDI2LTRlYTQtODJjNS1jYjM1YjRjOGY5MjUiLCJDbHVzdGVySW50ZXJmYWNlIjoiZXRoMSIsIkNsdXN0ZXJJUFByZWZpeCI6IjEwLjI0NC4yNDQuMS8yNCIsIklzV29ya2VyTm9kZSI6ZmFsc2UsIkpvaW5TZXJ2ZXJJUCI6IjEwLjI0NC4yNDQuMSIsIkVuY3J5cHRlZENsdXN0ZXJUb2tlbiI6InNVUnFpMHQ4cjZRamxBdV9uMWtjUlZvQmpvQkkyb1dsIn0="
  zcli edge-node update plex2-7050m --config=edgenode.cluster.config.base64:"eyJDbHVzdGVyTmFtZSI6InRlc3QtbGF0ZXN0LXN5bmMiLCJDbHVzdGVySUQiOiJiMzEwMmJkYi01MDI2LTRlYTQtODJjNS1jYjM1YjRjOGY5MjUiLCJDbHVzdGVySW50ZXJmYWNlIjoiZXRoMSIsIkNsdXN0ZXJJUFByZWZpeCI6IjEwLjI0NC4yNDQuMi8yNCIsIklzV29ya2VyTm9kZSI6ZmFsc2UsIkpvaW5TZXJ2ZXJJUCI6IjEwLjI0NC4yNDQuMSIsIkVuY3J5cHRlZENsdXN0ZXJUb2tlbiI6InNVUnFpMHQ4cjZRamxBdV9uMWtjUlZvQmpvQkkyb1dsIn0="
  zcli edge-node update plex3-7050m --config=edgenode.cluster.config.base64:"eyJDbHVzdGVyTmFtZSI6InRlc3QtbGF0ZXN0LXN5bmMiLCJDbHVzdGVySUQiOiJiMzEwMmJkYi01MDI2LTRlYTQtODJjNS1jYjM1YjRjOGY5MjUiLCJDbHVzdGVySW50ZXJmYWNlIjoiZXRoMSIsIkNsdXN0ZXJJUFByZWZpeCI6IjEwLjI0NC4yNDQuMy8yNCIsIklzV29ya2VyTm9kZSI6ZmFsc2UsIkpvaW5TZXJ2ZXJJUCI6IjEwLjI0NC4yNDQuMSIsIkVuY3J5cHRlZENsdXN0ZXJUb2tlbiI6InNVUnFpMHQ4cjZRamxBdV9uMWtjUlZvQmpvQkkyb1dsIn0="

convert from single-node to cluster mode with 'eth0', do this:
  zcli edge-node update plex1-7050m --config=edgenode.cluster.config.base64:"eyJDbHVzdGVyTmFtZSI6InRlc3QtZXRoMC1jbHVzdGVyaW50ZiIsIkNsdXN0ZXJJRCI6IjA0YTM1YTRlLWRhMDctNDkwYi04M2VmLThjZTgyZmY4ZjcyYyIsIkNsdXN0ZXJJbnRlcmZhY2UiOiJldGgwIiwiQ2x1c3RlcklQUHJlZml4IjoiMTAuMjQ0LjI0NC4xLzI0IiwiSXNXb3JrZXJOb2RlIjpmYWxzZSwiSm9pblNlcnZlcklQIjoiMTAuMjQ0LjI0NC4xIiwiRW5jcnlwdGVkQ2x1c3RlclRva2VuIjoiLWcydkxGejBUbXpaTjlXQWkwSjJoWEpUZEc5b1FZLXcifQ=="
  zcli edge-node update plex2-7050m --config=edgenode.cluster.config.base64:"eyJDbHVzdGVyTmFtZSI6InRlc3QtZXRoMC1jbHVzdGVyaW50ZiIsIkNsdXN0ZXJJRCI6IjA0YTM1YTRlLWRhMDctNDkwYi04M2VmLThjZTgyZmY4ZjcyYyIsIkNsdXN0ZXJJbnRlcmZhY2UiOiJldGgwIiwiQ2x1c3RlcklQUHJlZml4IjoiMTAuMjQ0LjI0NC4yLzI0IiwiSXNXb3JrZXJOb2RlIjpmYWxzZSwiSm9pblNlcnZlcklQIjoiMTAuMjQ0LjI0NC4xIiwiRW5jcnlwdGVkQ2x1c3RlclRva2VuIjoiLWcydkxGejBUbXpaTjlXQWkwSjJoWEpUZEc5b1FZLXcifQ=="
  zcli edge-node update plex3-7050m --config=edgenode.cluster.config.base64:"eyJDbHVzdGVyTmFtZSI6InRlc3QtZXRoMC1jbHVzdGVyaW50ZiIsIkNsdXN0ZXJJRCI6IjA0YTM1YTRlLWRhMDctNDkwYi04M2VmLThjZTgyZmY4ZjcyYyIsIkNsdXN0ZXJJbnRlcmZhY2UiOiJldGgwIiwiQ2x1c3RlcklQUHJlZml4IjoiMTAuMjQ0LjI0NC4zLzI0IiwiSXNXb3JrZXJOb2RlIjpmYWxzZSwiSm9pblNlcnZlcklQIjoiMTAuMjQ0LjI0NC4xIiwiRW5jcnlwdGVkQ2x1c3RlclRva2VuIjoiLWcydkxGejBUbXpaTjlXQWkwSjJoWEpUZEc5b1FZLXcifQ=="

@milan-zededa I looked at this issue, using the '192.168.86.x' ip address for vxlan overlay. I tried experimenting to see if this behavior can be changed, but I have not able to find any.
K3S has the flannel sort of built in, and given the 'flannel-iface: "eth0"' configure, it does the lookup:
func LookupExtInterface(iface *net.Interface, netMode int) (*backend.ExternalInterface, error) {
	var ifaceAddr []net.IP
...
	switch netMode {
	case ipv4:
		ifaceAddr, err = ip.GetInterfaceIP4Addrs(iface)
		if err != nil {
			return nil, errors.Wrap(err, "failed to find IPv4 address for interface")
		}
		logrus.Infof("The interface %s with ipv4 address %s will be used by flannel", iface.Name, ifaceAddr[0])

which it finds the '192.168.86.x' ip prefix here:
time="2024-10-01T01:26:44Z" level=info msg="Starting flannel with backend vxlan"
time="2024-10-01T01:26:44Z" level=info msg="The interface eth0 with ipv4 address <IP_ADDRESS> will be used by flannel"

i have tried like this k3s config:
flannel-iface: "eth0"
flannel-external-ip: true
node-ip: "<IP_ADDRESS>"
node-external-ip: "<IP_ADDRESS>"

it also does not work, i suspect the node external ip probably can not be a private ip address.
can you allow on the mgmt port, when cluster-mode is enable, the packet source/destination on the same subnet, and port is "8472" ?
otherwise, to maintain our own version of k3s probably is not worth the trouble.

can you allow on the mgmt port, when cluster-mode is enable, the packet source/destination on the same subnet, and port is "8472" ?

Done. PR updated and all 3 plex devices were upgraded. It looks OK. Please check.

@milan-zededa this change works, in the case of cluster-interface sharing the same mgmt. Thanks.
I think we still have an issue of 10.43/16 route. If I have this cluster-interface to it's own with 'eth1' in
the cluster, the (at least initially), one of the node joining the cluster, the longhorn pods stuck in creatiion.
Events:
  Type     Reason                  Age    From               Message
  ----     ------                  ----   ----               -------
  Normal   Scheduled               5m35s  default-scheduler  Successfully assigned longhorn-system/longhorn-manager-bsw2j to plex3-7050m
  Warning  FailedCreatePodSandBox  4m30s  kubelet            Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "7c6b7e38469fa0dcad33374958e47b665e40393fea763dce54c101ab836aaa60": plugin type="multus" name="multus-cni-network" failed (add): Multus: [longhorn-system/longhorn-manager-bsw2j/a92b3b36-c030-4e1c-b347-e86f9cf12624]: error getting pod: Get "https://[<IP_ADDRESS>]:443/api/v1/namespaces/longhorn-system/pods/longhorn-manager-bsw2j?timeout=1m0s": dial tcp <IP_ADDRESS>:443: i/o timeout
  Warning  FailedCreatePodSandBox  3m15s  kubelet            Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "ebd9f89fd7ee5320f4d2a6c78c85a175c9e4475a66a93238c487036879e2781c": plugin type="multus" name="multus-cni-network" failed (add): Multus: [longhorn-system/longhorn-manager-bsw2j/a92b3b36-c030-4e1c-b347-e86f9cf12624]: error getting pod: Get "https://[<IP_ADDRESS>]:443/api/v1/namespaces/longhorn-system/pods/longhorn-manager-bsw2j?timeout=1m0s": dial tcp <IP_ADDRESS>:443: i/o timeout
  Warning  FailedCreatePodSandBox  2m3s   kubelet            Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "76d2399b605407d15fc9dac1a3b215a28fd0c888d962ef177a028e1de7790b54": plugin type="multus" name="multus-cni-network" failed (add): Multus: [longhorn-system/longhorn-manager-bsw2j/a92b3b36-c030-4e1c-b347-e86f9cf12624]: error getting pod: Get "https://[<IP_ADDRESS>]:443/api/v1/namespaces/longhorn-system/pods/longhorn-manager-bsw2j?timeout=1m0s": dial tcp <IP_ADDRESS>:443: i/o timeout

after a while i logged onto this node, and manually inject the route:
route add -net <IP_ADDRESS> netmask <IP_ADDRESS> gw <IP_ADDRESS>

then the came up running immediately:
  Warning  FailedCreatePodSandBox  95s    kubelet            Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "1a8613fcfdee379a4e530b9612a8caaa5635116ef37ecbc4ac7301272e2fe148": plugin type="multus" name="multus-cni-network" failed (add): Multus: [longhorn-system/longhorn-manager-bsw2j/a92b3b36-c030-4e1c-b347-e86f9cf12624]: error getting pod: Get "https://[<IP_ADDRESS>]:443/api/v1/namespaces/longhorn-system/pods/longhorn-manager-bsw2j?timeout=1m0s": dial tcp <IP_ADDRESS>:443: i/o timeout
  Warning  FailedCreatePodSandBox  21s    kubelet            Failed to create pod sandbox: rpc error: code = Unknown desc = failed to setup network for sandbox "dc7671b72775f244c2733e3ec0d3b4b98d58a247bd6a1f2df41ba8580015f687": plugin type="multus" name="multus-cni-network" failed (add): Multus: [longhorn-system/longhorn-manager-bsw2j/a92b3b36-c030-4e1c-b347-e86f9cf12624]: error getting pod: Get "https://[<IP_ADDRESS>]:443/api/v1/namespaces/longhorn-system/pods/longhorn-manager-bsw2j?timeout=1m0s": dial tcp <IP_ADDRESS>:443: i/o timeout
  Normal   AddedInterface          10s    multus             Add eth0 [<IP_ADDRESS>/24] from cbr0
  Normal   Pulled                  9s     kubelet            Container image "longhornio/longhorn-manager:v1.6.2" already present on machine
  Normal   Created                 9s     kubelet            Created container longhorn-manager
  Normal   Started                 8s     kubelet            Started container longhorn-manager

I think we still have an issue of 10.43/16 route.

What is the rationale behind this route? I can add it but we should have a good understanding why it is needed.

I think we still have an issue of 10.43/16 route.

What is the rationale behind this route? I can add it but we should have a good understanding why it is needed. It is quite strange that gateway of that route is a local IP. In EVE we do not really manage the main routing table and I would expect that K3s/Flannel would take care of service/pod routing.

I'm not exactly sure. But I suspect if we don't have the 10.43/16 route in the case where the default route points to another interface, then the SNAT will not use the 10.244.244.x ip address in the source in the proxy service, and the packet will be dropped in this case.

I'm not exactly sure. But I suspect if we don't have the 10.43/16 route in the case where the default route points to another interface, then the SNAT will not use the 10.244.244.x ip address in the source in the proxy service, and the packet will be dropped in this case.

OK, I have prepared a commit adding this route but will upgrade plex devices and test tomorrow, because canary is down right now.

@milan-zededa i patched in this and loaded to all the plex's, all working. and i converted them back to single-node, then reconfig them into the cluster using the 'eth1' as interface. All the nodes longhorn pods came up running almost immediately.
table:
9d81c7b5-5660-42c7-991a-0e19129f1077:~# ip route show table 400
<IP_ADDRESS>/16 via <IP_ADDRESS> dev eth1 proto static
9d81c7b5-5660-42c7-991a-0e19129f1077:~#

i think this PR change is good. thanks.

@milan-zededa i patched in this and loaded to all the plex's, all working. and i converted them back to single-node, then reconfig them into the cluster using the 'eth1' as interface. All the nodes longhorn pods came up running almost immediately. table:
9d81c7b5-5660-42c7-991a-0e19129f1077:~# ip route show table 400
<IP_ADDRESS>/16 via <IP_ADDRESS> dev eth1 proto static
9d81c7b5-5660-42c7-991a-0e19129f1077:~#

i think this PR change is good. thanks.

Great, I also checked the logs for any issues and none found. Changing the PR from draft to ready for merge.


Normal player canot use the sign

a normal player with the permissions can't use the sign?

What permissions ?

What is the version of Spigot you are using ?
What is the version of Command Signs you are using  ?
What is the configuration of the Command Sign on which you have a problem ?
What are you trying to do ?
What is the expected behavior ?
What is the actual behavior ?


Create Longest_Substring_Without_Repeating_Characters.cpp

I would like to help you by adding sliding window algorithms one of them is a famous question asked in interviews that is "Longest Substring Without Repeating Characters".

I hope this helps the community.

Thank you.

Description of Change

Checklist

[x] Added description of change
[x] Added file name matches File name guidelines
[x] Added tests and example, test must pass
[x] Added documentation so that the program is self-explanatory and educational - Doxygen guidelines
[x] Relevant documentation/comments is changed or added
[x] PR title follows semantic commit guidelines
[x] Search previous suggestions before making a new one, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.

Notes:

Unfortunately we dont currently accept leetcode solutions see #2450
the directory you created is unnecessary and does not have a CMakeLists.txt file.
will be closing soon! Thank you for your contribution.

what if I put these under the other section will that be fine

what if I put these under the other section will that be fine

yes

any update on my PR.

If the code get's merged can you label this as hackoctoberfest.
Thank you.

any updates

Haven't got any review, past 2 days is this code ok or I have to fix something.

Thank you


Bungeecord not working with pjp

So I'm trying to setup a portal for my the server I have on my bungeecord on my hub and it seems that it cant find the server for some reason.
https://image.prntscr.com/image/gs3V3iS5T2_iC1qC1qwWVA.png
As you can see in the screenshot. The server does exist but it seems to not be able to find it.
Here is what I use:

spongevanilla-1.10.2-5.2.0-BETA-396
projectcore-5.2.0-0.1.5
projectportals-5.2.0-0.13.8
SpongyCord-1.1.1

Anything I might be doing wrong here?
Thanks in advance

I'm a idiot. like 10 seconds after making this I see I forgot to use -b in the command


Collapsible panel (vaadin-details)

From @jouni on September 11, 2015 12:52
A component to show more content when the user requests it, usually by clicking the panel header to reveal more content below it.
Polymer Elements has iron-collapse which we can utilize, but we could provide a more polished element, since currently it requires some boilerplate to trigger the opening and closing, and doesn’t provide lazy-loading content for instance, and doesn’t provide any default styles for material design.
Suggested element name: vaadin-details (since HTML actually has a draft spec for this element named details).
UI Design

[x] End user feature design (what does it do, responsive behavior, etc.)
[x] Graphical design
[x] Prototype implementation for automatic scrolling behavior on small screen devices
[ ] User testing for prototype

Technical design

[ ] Technical feature design
[ ] API design (element name, light dom api, etc.)
[ ] Keyboard navigation and screen reader support

Attachments on Google Drive (private):

End user feature design
Graphical designs

Copied from original issue: vaadin/vaadin-details#1

HTML defines (or has a draft at least) for a  element, which is the same thing as this component (and WebKit and Blink implement that, Firefox doesn’t). We should perhaps try to follow that spec.
E.g.
<vaadin-details>
  Comments: [[numOfComments]]
  <vaadin-details-content path="path/to/lazy-loaded-comments.html"></vaadin-details-content>
</vaadin-details>

or
<vaadin-details>
  More info

Static content inside the disclosure.

There could be multiple elements inside here,
     and all of those would be considered as the "content",
     apart from the `summary` element.
</vaadin-details>

Look at the lazy-pages element as example of lazy-loading of the content

About lazy loading: the Polymer team is about to release an element regarding that exact functionality, so we should wait for that instead of implementing something similar ourselves at this moment.

That looks nice, at least as a side-viewer. So Principle doesn’t offer a way to let others try out that prototype interactively?

From @tuomasnironen on September 15, 2015 5:19
Nope, unless you have the Principle installed yourself for testing project files.

From @tuomasnironen on September 14, 2015 11:4
Prototyped UI with "Principle" tool (http://principleformac.com/). Does not offer exporting interactive prototype nor layout formatting as in original designs.
https://drive.google.com/open?id=0BzkWbWvgmkIxaGFuZk55ci1aUjg

For the record, the designs in the original description (from over 2 years ago) are no longer up to date, and can be discarded. Further design discussion/iteration will take place in specific issues in the vaadin-accordion repo.

Releases

Details

Web Component
Flow Component

Accordion

Web Component
Flow Component


[2.8.1] Fix null ref in WindowsMixedRealityXRSDKArticulatedHand

Overview
Fixes an issue where this array was inadvertently left null in certain code paths.

/azp run


fix bug and clear tables

fix query title bug
fix update error (cast boolean)
clear the table after success each action

Codecov Report

Merging #97 (547f0c8) into main (3aaabee) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #97   +/-   ##
=======================================
  Coverage   95.71%   95.71%
=======================================
  Files           5        5
  Lines         257      257
=======================================
  Hits          246      246
  Misses         11       11

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 3aaabee...547f0c8. Read the comment docs.


[DISCOVERY] Unable to download .scc subtitles!

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2019.02.18. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2019.02.18

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

youtube-dl -a list.txt --cookies cookies.txt --write-sub --add-metadata --geo-verification-proxy http://<IP_ADDRESS>:10331 --console-title -v
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-a', 'list.txt', '--cookies', 'cookies.txt', '--write-sub', '--add-metadata', '--geo-verification-proxy', 'http://<IP_ADDRESS>:10331', '--console-title', '-v']
[debug] Batch file urls: ['https://www.discovery.com/tv-shows/ed-stafford-first-man-out/full-episodes/mongolia']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2019.02.18
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17134
[debug] exe versions: ffmpeg 4.1, ffprobe 4.1
[debug] Proxy map: {}
[Discovery] mongolia: Downloading webpage
[Discovery] mongolia: Downloading JSON metadata
[Discovery] mongolia: Downloading m3u8 information
[debug] Default format spec: bestvideo+bestaudio/best
[info] Writing video subtitles to: Mongolia-5c71ecb16b66d145a86cf55b.en.scc
WARNING: Unable to download subtitle for "en": Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
[debug] Invoking downloader on 'https://content-asab1.uplynk.com/e731b07d90b94f3e947bd2357483709d/i.m3u8?tc=1&exp=1551042175&rn=844789622&ct=a&cid=e731b07d90b94f3e947bd2357483709d&ad.pingf=3&ad.customer_id=&ad.nw=&ad.prof=&ad.csid=&ad.vip=<IP_ADDRESS>&pp2ip=0&ad.cping=1&ad=fw&rays=cdefghiba&v=2&sig=2fd10b538a36b74d888a458d33f364ba21de0c0239003860575716fd608db68e&pbs=a355943f780a4ddea5913c1cf9ba7925'
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 604
[download] Destination: Mongolia-5c71ecb16b66d145a86cf55b.mp4
[download]   1.0% of ~1.55GiB at  2.52MiB/s ETA 06:02
...
<end of log>

Description of your issue, suggested solution and other information
Unable to download .scc subtitles from the Discovery networks sites. Another subtitles seems to be download alright only the .scc aren't downloading.
Thank you very much for the time, and attention.

If it's anything like How The Universe Works (also affected by this, as Science Channel is owned by Discovery), there should also be a Closed Captions stream inside the video stream (I mean that literally; EIA-608 subtitles packed into the H.264 frames as a substream).  You can extract them with FFmpeg:
ffmpeg -f lavfi -i movie=input.ts[out+subcc]  -map 0:1  output.srt

If you absolutely need Scenarist subtitles, there's probably something out there that can convert SRT to .scc.

@Nii-90 Thank you very much Nii for the heads up. Actually to process it via FFMPEG it has to be a mpegts file... But I found this software https://www.ccextractor.org/public:general:downloads which is free and has a GUI for windows, I could extract the .srt from the file with just a few clicks and literally seconds. Happy days!
Thanks again, I didn't know this detail!

FFmpeg doesn't require it to be in MPEG-TS.  At one time, yes, but not anymore (or the handling of this particular edge case has gotten better).  Whenever I grab HTUW, it's definitely in ISO Base Media/MP4, but the EIA-608 subs are correctly extracted with the command above.  Before, you could still do it, but the timings would be all wrong; not anymore, though.
On other shows (Miracle Workers off of TBS, for example), ccextractor works correctly, but not for shows where I've had to reconstruct the chapter layout because ytdl doesn't preserve it (stuff from FOX and HTUW - presumably other Science Channel/Discovery shows too).  On those files, the 'Closed Captions' indicator no longer appears in the h264 stream list, but it is still there as an unmarked binary data stream and FFmpeg is required to handle it at that point because ccextractor errors out.

To illustrate:
>ccextractorwin -out=smptett -nobom "How The Universe Works - S07E01 - Nightmares of Neutron Stars.mp4"
CCExtractor 0.87, Carlos Fernandez Sanz, Volker Quetschke.
Teletext portions taken from Petr Kutalek's telxcc
--------------------------------------------------------------------------
Input: How The Universe Works - S07E01 - Nightmares of Neutron Stars.mp4
[Extract: 1] [Stream mode: Autodetect]
[Program : Auto ] [Hauppage mode: No] [Use MythTV code: Auto]
[Timing mode: Auto] [Debug: No] [Buffer input: Yes]
[Use pic_order_cnt_lsb for H.264: No] [Print CC decoder traces: No]
[Target format: .ttml] [Encoding: UTF-8] [Delay: 0] [Trim lines: No]
[Add font color data: Yes] [Add font typesetting: Yes]
[Convert case: No] [Video-edit join: No]
[Extraction start time: not set (from start)]
[Extraction end time: not set (to end)]
[Live stream: No] [Clock frequency: 90000]
[Teletext page: Autodetect]
[Start credits text: None]
[Quantisation-mode: CCExtractor's internal function]

-----------------------------------------------------------------
Opening file: How The Universe Works - S07E01 - Nightmares of Neutron Stars.mp4
Detected MP4 box with name: ftyp
Detected MP4 box with name: moov
File seems to be a MP4
Analyzing data with GPAC (MP4 library)
Opening 'How The Universe Works - S07E01 - Nightmares of Neutron Stars.mp4': [iso file] Unknown box type gmhd
[iso file] Unknown box type gmin
[ISO file] dataReferenceIndex set to 0 in sample entry, overriding to 1

ccextractor didn't extract anything, probably because it didn't recognize one of the atoms that FFmpeg wrote.
Meanwhile, FFmpeg on the same file:
>ffmpeg -f lavfi -i movie="How The Universe Works - S07E01 - Nightmares of Neutron Stars.mp4"[out+subcc] -map 0:1 test.ass
ffmpeg version r93220+5 master-c679119a73 HEAD-2dbbe2c02c
 contains: datetime new_pkgconfig silent_invoke versioninfo
 Copyright (c) 2000-2019 the FFmpeg developers
  built on Feb 22 2019 22:24:01 with gcc 8.3.0 (GCC)
  libavutil      56. 26.100 / 56. 26.100
  libavcodec     58. 47.102 / 58. 47.102
  libavformat    58. 26.101 / 58. 26.101
  libavdevice    58.  6.101 / 58.  6.101
  libavfilter     7. 48.100 /  7. 48.100
  libavresample   4.  0.  0 /  4.  0.    It properly detects the file as MP4, and it extracts the subtitles.

Huh, that's interesting! But I'm actually able to extract correctly subs from HTUW with ccextractor. Just ran the command and it did extracted flawlessly and converted it to .srt.
Look:
ccextractorwin` -out=srt -bom -latin1 "Battle of the Dark Universe-5c6c897f6b66d145a86ced8c.mp4"
CCExtractor 0.87, Carlos Fernandez Sanz, Volker Quetschke.
Teletext portions taken from Petr Kutalek's telxcc

Input: Battle of the Dark Universe-5c6c897f6b66d145a86ced8c.mp4
[Extract: 1] [Stream mode: Autodetect]
[Program : Auto ] [Hauppage mode: No] [Use MythTV code: Auto]
[Timing mode: Auto] [Debug: No] [Buffer input: Yes]
[Use pic_order_cnt_lsb for H.264: No] [Print CC decoder traces: No]
[Target format: .srt] [Encoding: Latin-1] [Delay: 0] [Trim lines: No]
[Add font color data: Yes] [Add font typesetting: Yes]
[Convert case: No] [Video-edit join: No]
[Extraction start time: not set (from start)]
[Extraction end time: not set (to end)]
[Live stream: No] [Clock frequency: 90000]
[Teletext page: Autodetect]
[Start credits text: None]
[Quantisation-mode: CCExtractor's internal function]

Opening file: Battle of the Dark Universe-5c6c897f6b66d145a86ced8c.mp4
Detected MP4 box with name: ftyp
Detected MP4 box with name: free
Detected MP4 box with name: mdat
File seems to be a MP4
Analyzing data with GPAC (MP4 library)
Opening 'Battle of the Dark Universe-5c6c897f6b66d145a86ced8c.mp4': [iso file] Unknown box type desc
[iso file] Box "data" is invalid in container desc
ok
Track 1, type=vide subtype=avc1
Track 2, type=soun subtype=MPEG
MP4: found 2 tracks: 1 avc and 0 cc
Processing track 1, type=vide subtype=avc1
100%  |  42:29Processing track 2, type=soun subtype=MPEG

Closing media: ok
Found 1 AVC track(s). Found no dedicated CC track(s).

Total frames time:        00:42:29:079  (76396 frames at 29.97fps)

Min PTS:                                00:00:00:000
Max PTS:                                00:42:29:112
Length:                          00:42:29:112
Done, processing time = 19 seconds
Issues? Open a ticket here
https://github.com/CCExtractor/ccextractor/issues

But in this case I used the parameters that were recommended in the GUI. And that is the difference, you're using different parameters. Why?
I played the episode and the characters are fine, the sync seems fine as well. And the most impressive is the time used to process, just 19 seconds that's amazing!
In the practical case I'm running a .bat script for %A IN (*.mp4) DO ccextractorwin -out=srt -bom -latin1 "%A" that takes all the video files in the folder and extract it's subs to .srt files. I think it can't keep any better.
I just didn't understand the chapters part you mentioned tough. What do you mean? Do the episodes have chapters, why would you use them?

The reason it succeeded in your example with HTUW is because you just told youtube-dl to download it, with hls-native (because I know the --hls-prefer-ffmpeg option doesn't like to operate well on Uplynk), plain as anything else.  That's the exact same reason I gave for why Miracle Workers worked as well, although TBS doesn't use Uplynk and the chapter information is preserved in the file youtube-dl does download when you use the --add-metadata option.
TTML output and no-BOM UTF-8 is just a personal choice - any format errors out the same way, because there's something about the concatenated file ccextractor doesn't like (my money's on that gmin box error).
Yes, the videos do have chapters, as evidenced when you watch them through the online players (they exist at the spots where ads would be inserted, and these boundaries exist in the *.m3u8 files as well, which is how I can recover them).  Partially it's for completeness that I want to keep them.  And while I could certainly just download it twice, then throw away the individual segments, I at least tried to streamline the process so I used the minimum amount of bandwidth, leading to the problem that the stitched-together file can only have its subs extracted by FFmpeg.

Oh well, now I got it! Thank you for taking the time to explain, I really appreciate it.
Have good downloads my friend, see you!

As a follow-up, through a bit of a run-around, I found out what laid at the heart of the problem with my fix for chapters not working with ccextractor: FFmpeg creates a junk track (or rather, likely redundant, iTunes-style chapter info) when putting chapter-laden metadata into the file, and this is what ccextractor chokes on.
A bug report on FFmpeg's tracker from several years ago pointed out a solution, and now I can generate files without that junk (while retaining all the metadata, cover art/thumbnail, and chapter info), and ccextractor is fine with it.

Well, I'm glad you made it! It's a shame that they didn't fix it, probably someone else is struggling with it somewhere.


Fix TrustedPersistantOAuth2Session init

Fixes a bug in the init of TrustedPersistantOAuth2Session where refreshTokenExpirationDate was deleted from Keychain when the refreshToken wasn't nil.

Thanks @tuzonghua

@corinnekrych Closing this since the change is also in #61.


Consider using google re2j

RE2J : https://github.com/google/re2j
For regular expression patterns with a high degree of alternation, using RE2J would exhibit higher performance.

Consider using it for what?


velox_test_util is being used in non-test targets

Description
I noticed that velox_test_util is being used in the following non-test targets:

velox_common_base
velox_exec
velox_memory
velox_time

I think we should either rename/refactor the target  for use outside of tests or remove it from non-test targets.

Sounds reasonable to me. Do we know what inside velox_test_util is used by these targets?

It's mostly TestValue.h:
/// The test facility used to inject callback hook in production execution point
/// to get, change and verify various internal execution state for unit test.
/// The hook injected in production code path will be opt out in release build
/// and only be executed in debug build. Please follow the example in
/// TestValueTest.cpp for use.

So it seems to be intentional after all, if you think that's fine feel free to close the issue.

CC: @xiaoxmeng
Maybe we could extract TestValue into its own target.

add_library(velox_test_util ScopedTestTime.cpp TestValue.cpp)
There is only one other source file linked with this target. We could make each of the sources an OBJECT library since they are never used together anyway.

I initially thought it was an accidental inclusion in non-test targets and a pure test thing but it seems it is intentional and makes sure no extraneous code is included in a release build. I assume there is no way to do the tests this enables without it so it seems fine? The target itself is already small and not within /tests so not an issue imo.
Sorry for the confusion :)


About  the TNT dataset download link

Thanks for your excellent work!
We meet some trouble when downloading the TNT dataset:

Would you please update the download link?
Good luck!

Hi, the link is updated. Thanks for reporting this.


Make 'seconds' field optional

The year field is currently optional, with expressions being comprised of six or seven fields accordingly. I would like to also accept expressions which have neither seconds nor years, for a total of five fields. Importantly, expressions that do not include seconds but which do include years would be illegal.

@zslayton
May be use proxy object 'ScheduleBuilder'
let s = Schedule::builder() // ScheduleBuilder::default()
    .with_seconds(true)
    .with_years(true)
    .from_str(...)

Importantly, expressions that do not include seconds but which do include years would be illegal.

To clarify this, the parser would treat any expression with 6 fields as having years. It would be impossible to detect the user's intent in some cases (e.g. * * * * * *), so this would simply be noted in the documentation.

May be use proxy object 'ScheduleBuilder'

I'm open to this approach. There are other settings that it would be nice to support -- e.g. whether day_of_week should be 0-indexed or 1-indexed, which varies between implementations. (This is relevant to #37.)

Importantly, expressions that do not include seconds but which do include years would be illegal.

To clarify this, the parser would treat any expression with 6 fields as having years. It would be impossible to detect the user's intent in some cases (e.g. * * * * * *), so this would simply be noted in the documentation.

May be use proxy object 'ScheduleBuilder'

I'm open to this approach. There are other settings that it would be nice to support -- e.g. whether day_of_week should be 0-indexed or 1-indexed, which varies between implementations. (This is relevant to #37.)


.getAvailablePurchases() not returning available products while in development.

Version of react-native-iap
Latest
Platforms you faced the error (IOS or Android or both?)
No error just no result.
Expected behavior
I have created 2 products in the ios features as non-consumable products and are Ready to Submit.
I can successfully "getProducts", and have successfully purchased 1 of them. If i try to purchase it again it tells me it has already been purchased. Now I need the getAvailablePurchases to iterate over the array to allow access to already purchased items. However my getAvailablePurchases() is resulting in an empty array when I should have 1 product available for purchase.
My question is does the getAvailablePurchases stay empty until its actually live? Or is this unexpected behavior.
Tested environment (Emulator? Real Device?)
Real device after exp publish ran and build scheme set to release. And loaded onto actual device iPhone Xs Max

Both of the products are "non-consumable" I have successfully tested purchasing and it works great ( as expected) Where I'm having issues is that since i have purchased 1 of the 2 products when I call getAvailableProducts() nothing is being returned. I would expect based on the documentation I should get 1 result in the array, and it should be the product I have not purchased. I also tested just calling available products with a sandbox test account that has not made any purchases and my result array for getAvailableProducts() is still empty. I hope this helps!

Did you include 2 item ids when you call getAvailablePurchases ? I updated related functions, but this can hardly happen.

This may/may not be related, but I'm getting an error on getAvailableProducts() of:
{ [Error: No value for originalJson]
	framesToPop: 1,
	code: 'E_BILLING_RESPONSE_JSON_PARSE_ERROR',
	line: 20294,
	column: 31,
	sourceURL: 'http://localhost:8081/index.delta?platform=android&dev=true&minify=false'
}

This is after a subscription has been purchased and you attempt to getAvailablePurchases()

No I did not include the item ids - didn’t know it the function took parameters. I’ll try tomorrow first thing.

Looks like it doesn’t accept any parameters like I thought....

I mean this ids.. You have to include these items like this. I guess you did this.
https://github.com/dooboolab/react-native-iap/blob/8cb75740a3b4c4f5bd7153ed3a1faf6f44e2ec20/RNIapExample/src/components/pages/First.js#L18

If you read my first and second clarification of my issue it’s the
getAvailableProducts() function that it is not giving me a response. Will
this function work in sandbox mode?
On Sun, Oct 14, 2018 at 10:04 PM Jongwoo Moon<EMAIL_ADDRESS>wrote:

I mean this ids.. You have to include these items like this. I guess you
did this.
https://github.com/dooboolab/react-native-iap/blob/8cb75740a3b4c4f5bd7153ed3a1faf6f44e2ec20/RNIapExample/src/components/pages/First.js#L18
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dooboolab/react-native-iap/issues/286#issuecomment-429694682,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABpPC1abDfB3qRGWO1lBHu33GREdpqPtks5uk_tWgaJpZM4XaHdV
.

Yes my purchasing and product receiving works fine. It’s the getAvailableProducts() that is not returning a result. Is that expected behavior while in development?

Yes. The method should return one item you already purchased with that account.
But, the Apple IAP server frequently malfunctions, I cannot tell a certain answer.
The method was tested in sandbox circumstances. I hope you make a new sandbox account and test again.

So is it impossible to fully test this until its live on the app store? I'm at a loss...

Figured it out, I wasn't calling the "finishTransaction()" so i was stuck in a loop on my sandbox test account "Purchase was successful" but didn't not fully process on Apple's side they called it a dead loop. This can be closed.


Gradle sync and Android build fails

After following the steps in the docs, I still am unable to successfully build the android app. The error I see in the gradle console is:
* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_devRemoteKernelDebugApk'.
   > Project :app declares a dependency from configuration 'compile' to configuration 'default' which is not declared in the descriptor for project :react-native-config.

Has anyone seen this error before or know how to resolve it? I can add the relevant gradle files if that will help resolve this issue.

I have the same problem.

I faced a similar problem and followed the answer from the following SO link:
https://stackoverflow.com/questions/27541838/android-studio-gradle-already-disposed-module
Basically I deleted the .idea and .gradle and close Android Studio and then open it again. Afterwards, the sync is successful and everything seems fine.


Bleach values entering AnswerStore

What is the context of this PR?
Move the bleaching of input to when the value is entered into the AnswerStore. This should then catch all input.
Fixes https://github.com/ONSdigital/eq-survey-runner/issues/699

I've just noticed that when entering <person name> into the household composition entry screen that when the answer gets piped into the group title it displays the encoded values <person name>. Do you think we should be marking group titles as safe or should the unescaping happen in the household member name filter?
The behaviour for entering person<name is the same as before, but maybe that is correct/expected and bleach is just doing its thing.

We probably need to do a more in depth review of how we handle data within the application. what is allowed ini and what isn't.


Should also allow typescript files

and if typescript files are found within source folder, then output .js AND .ts versions of the library

very basic typescript support added. no mixing js/ts allowed currently
this will all be redone when mothertode is ready anyway!


oxigraph 0.3.0

Checklist

[x] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

[x] use cargo-bundle-licenses

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

  running: "x86_64-apple-darwin13.4.0-clang++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "--target=x86_64-apple-darwin" "-march=core2" "-mtune=haswell" "-mssse3" "-ftree-vectorize" "-fPIC" "-fPIE" "-fstack-protector-strong" "-O2" "-pipe" "-stdlib=libc++" "-fvisibility-inlines-hidden" "-fmessage-length=0" "-isystem" "/Users/runner/miniforge3/conda-bld/oxigraph_1647703449904/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/include" "-fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/oxigraph_1647703449904/work=/usr/local/src/conda/oxigraph-server-0.3.0" "-fdebug-prefix-map=/Users/runner/miniforge3/conda-bld/oxigraph_1647703449904/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_=/usr/local/src/conda-prefix" "-I" "rocksdb/include/" "-I" "rocksdb/" "-I" "lz4/lib/" "-std=c++17" "-msse2" "-DNDEBUG=1" "-DLZ4=1" "-DOS_MACOSX" "-DROCKSDB_PLATFORM_POSIX" "-DROCKSDB_LIB_IO_POSIX" "-DROCKSDB_SUPPORT_THREAD_LOCAL" "-o" "/Users/runner/miniforge3/conda-bld/oxigraph_1647703449904/work/target/release/build/oxrocksdb-sys-c3c85c635bad7b1c/out/rocksdb/cache/sharded_cache.o" "-c" "rocksdb/cache/sharded_cache.cc"
  cargo:warning=In file included from rocksdb/cache/lru_cache.cc:10:
  cargo:warning=rocksdb/cache/lru_cache.h:290:11: error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.14 or newer
  cargo:warning=  virtual ~LRUCacheShard() override = default;
  cargo:warning=          ^
  cargo:warning=rocksdb/cache/lru_cache.cc:672:18: note: in defaulted destructor for 'rocksdb::LRUCacheShard' first required here
  cargo:warning=      shards_[i].~LRUCacheShard();
  cargo:warning=                 ^
  cargo:warning=rocksdb/cache/lru_cache.h:290:11: note: if you supply your own aligned allocation functions, use -faligned-allocation to silence this diagnostic
  cargo:warning=  virtual ~LRUCacheShard() override = default;
  cargo:warning=          ^
  cargo:warning=1 error generated.
  exit status: 1


feat: dao sc

Summary
Type of change

Implementation for Dao voting program.

Changes
The following changes have been made:

Add Constructor
Add deposit and balance functions
Add tests

Related Issues
Closes #76
Additional context

This needs to be added to CI


[uss_qualifier] validate that some queries to service_providers are properly authenticated for NET0210

Add check for NET0210, which is about checking that service providers correctly authenticate requests.
This is done via a new misbehavior scenario that will inject flight data and query the SP's endpoint for that data without providing credentials.
It behaves very similarly to the nominal_behavior scenario, with these two tweaks:

a DSS instance is required instead of being optional
the polling stops as soon as we have validated that the SP properly authenticates the flights and flight_details requests.

Unsure if this is flaky or due to interfering tests, but I ran into multiple of these failures on the CI:
2023-09-12 20:15:38.239 | WARNING  | monitoring.uss_qualifier.suites.suite:_print_failed_check:50 - New failed check:
  details: 'Flight be73f2ee-528f-4d8d-8725-eb0de98d544a: has no telemetry position that
    belong to a cluster.

    Severity Medium upgraded to Critical because USS_QUALIFIER_STOP_FAST environment
    variable indicates true'
  documentation_url: https://github.com/interuss/monitoring/blob/889863e731c55d197ddb13c9d2d7faf3779a3cf0/monitoring/uss_qualifier/scenarios/astm/netrid/v19/nominal_behavior.md#individual-flights-obfuscation-check
  name: Individual flights obfuscation
  participants:
  - uss3
  requirements:
  - astm.f3411.v19.NET0490
  severity: Critical
  summary: Error while evaluating obfuscation of individual flights. Flight was outside
    of all clusters.
  timestamp: '2023-09-12T20:15:38.237596Z'

Will have a look tomorrow.

Unsure if this is flaky or due to interfering tests, but I ran into multiple of these failures on the CI:
...
Will have a look tomorrow.

I think this is likely to be #144 and if so should be transient -- I'd poke @mickmis next week.  It looks like the CI is passing now.


Variants: An error should be displayed is no size is selected

Environment Details
Spartacus: variants branch
Browser: Chrome
Device: mac
Happens on: http://dev-com-15.accdemo.b2c.ydev.hybris.com:4200/apparel-uk-spa/en/GBP
Steps to Reproduce

On chrome, go to product 300760754 (http://dev-com-15.accdemo.b2c.ydev.hybris.com:4200/apparel-uk-spa/en/GBP/product/Girl On Feather Tank Top Women coco S/300760754)
In the size menu, select "Please select size".
Click on "Add to Cart"

Actual Result
The default variant is added to cart.
Expected Result
Should not be able to add an item to cart. Should display an error to ask the user to select a size.

After some discussion, we decided to remove the label as it's only would be time-consuming to implement a workaround for it.

Tested on dev15. Now there's no "Please select size" label.


Update editable_form.js.coffee

The model parameters generated by the gem no longer override the model parameters created by the user.
In my case I have a table displaying instances of WorklistItem and each cell is x-editable. I wanted to implement optimistic locking per row. To do this, I need to pass a parameter which looks like this: {worklist_item: {lock_version: 1}}. However, the gem overrides it in the EditableForm.saveWithUrlHook method.
This pull request fixes that.

Hi, great job. Thanks for contribution!


Fastlane "increment_build_number" not working after update Fastlane or xcode...

Hi!
Just updated both Fastlane and Xcode to the latest version and both increment_build_number and increment_version_number are not working anymore... It doesn't throw an error, it just doesn't update.
The xcode project hasn't been changed at all... The code is pretty straight forward:
increment_version_number version_number: $build_number```

### Complete fastfile:

```ruby
platform :ios do

	desc "Test!"
	lane :test do

		# This doesn't require any thing, because it is all done in the "Before all lane"
		set_info_plist_value(path: './Roadmap-Info.plist', key: 'CFBundleIdentifier', value: "$(PRODUCT_BUNDLE_IDENTIFIER)")

		# Set identifier
		update_app_identifier(
		  xcodeproj: 'Roadmap.xcodeproj', # Optional path to xcodeproj, will use the first .xcodeproj if not set
		  plist_path: 'Roadmap-Info.plist', # Path to info plist file, relative to xcodeproj
		  app_identifier: 'com.demo.test' # The App Identifier
		)

        increment_build_number build_number: '6.1.2'

        increment_version_number version_number: '20160322'
	end

    # After no errors!
    after_all do |lane|

		p "We finished succesfuly!"

    end

    # Error!
    error do |lane, exception|
	    puts "We crashed.... Send me an e-mail!"
        # Do something!
    end
end

Output:
[15:05:18]: ------------------------------------
[15:05:18]: --- Step: increment_build_number ---
[15:05:18]: ------------------------------------
[15:05:18]: $ cd /Users/roadmap/Documents/MobiPoweriOS && agvtool new-version -all 6.1.2
[15:05:18]: ▸ Setting version of project Roadmap to:
[15:05:18]: ▸ 6.1.2.
[15:05:19]: ▸ Also setting CFBundleVersion key (assuming it exists)
[15:05:19]: ▸ Updating CFBundleVersion in Info.plist(s)...
[15:05:19]: ▸ Cannot find "Roadmap.xcodeproj/../				<key>INFOPLIST_FILE</key>"
[15:05:19]: --------------------------------------
[15:05:19]: --- Step: increment_version_number ---
[15:05:19]: --------------------------------------
[15:05:19]: $ cd /Users/roadmap/Documents/MobiPoweriOS && agvtool new-marketing-version 20160323
[15:05:20]: ▸ Setting CFBundleShortVersionString of project Roadmap to:
[15:05:20]: ▸ 20160323.
[15:05:20]: ▸ Updating CFBundleShortVersionString in Info.plist(s)...
[15:05:20]: ▸ Cannot find "Roadmap.xcodeproj/../				<key>INFOPLIST_FILE</key>"

Environment
fastlane version (fastlane -v): 1.67.0
xcode version: 7.3
Do you use bundler, rbenv or rvm? RVM

Hi @mcactive. Thanks for letting us know. Can you edit to include your fast file?
Follow the template here: https://github.com/fastlane/fastlane/blob/master/ISSUE_TEMPLATE.md
Also, what version of Xcode are you using?
Thanks!

Hi!
Yeah, I've stripped the Fastfile to exclude all the errors and even the simplest doesn't work. I've edited the post!
Xcode version is the latest, 7.3

@mcactive I found a similar issue from a long time ago about a bug with cocapods. Are you using cocapods?  Could you check your agvtool https://github.com/CocoaPods/CocoaPods/issues/613?

@i2amsam Hi Sam, yes, we are using cocoapods and using the cocoapods action in Fastlane as well.
The file appears to be XML instead of the OpenStep format.. Is there an easy way to fix it?

@mcactive does this solution work? https://github.com/CocoaPods/CocoaPods/issues/613#issuecomment-9695254 it seems like a cocapods issue rather than a fastlane issue.

@i2amsam you're right... Saving something in xcode and running only
cd /Users/mcactive/Documents/Project && agvtool new-version -all 6.1.2
works...
But it's weird if it is a cocoapods issue as it always worked and after updating fastlane and xcode it broke... Should I make an issue at CocoaPods?

@mcactive I agree, super weird.  I don't see anything in the fastlane release that seems suspicious, and we didn't run into it with an updated xCode, let's see if anyone else reports it.

@i2amsam updating to the beta version of cocoapods fixed the issue. This also installs "xcodeproj" beta which fixes a bug in Xcode 7.3:
1.0.0.beta.3
@segiddins segiddins released this 29 days ago · 3 commits to master since this release

Bug Fixes

Fix ASCII .xcodeproj serialization with Xcode 7.3.

Ran into the same issue. We're using Cocoapods as well, but it isn't part of our fastlane flow. However, I do have a custom action that use the Xcodeproj gem that is used internally by Cocoapods in order to modify the project to swap out app icons, fonts, etc.
Based on your current finding I would suspect that a change in the xcodeproj structure in Xcode 7.3 has caused an incompatibility with the Xcodeproj gem.
For now I'm working around the issue by having the increment_build_number and increment_version_number actions be executed first in my lane. I had initially tried to get around the issue by running my custom action after those above two actions, but was still running into conflicts. Once I moved the two increment actions above update_project_team, update_info_plist, and update_app_identifier then things begun to work fine.

@vfog I think you are exactly right. I'm seeing the same, and not using cocoapods.

@mcactive @vfog I've verified updating to xcodeproj 1.0.0 beta 3 fixes this for me. I am not using cocoapods.
Fastlane may need to bump the minimum version of xcodeproj to resolve this.

@mcactive I believe this one should be reopened until its resolved.

Didn't know fastlane also used Xcodeproj gem. Will reopen it until further notice.

You can see a few requires here:
https://github.com/fastlane/fastlane/search?p=1&q=xcodeproj&utf8=%E2%9C%93

Look like its defined here.
I think this needs to be bumped to minimum 1.0.0-beta3

@mcactive and @kcharwood Thanks! :+1: I put a comment over in #3945, it appears we won't be able to bump our min version because that would put fastlane in conflict with cocoapods 0.39 which is still working ok for Xcode 7.2 users. Eek.  I'd like to close this and track it in the other issue if that sounds right to you folks.

@kcharwood I'm closing this issue out so we can track on the other ticket. Thanks for working with us!

You can put the Fastfile in a subdir =>  Dir_where_xcodeproj/Fastlane/Fastfile


separated add husky pre-commit task from the others

Brief Information
because i pull request without run  npm run lint, and the ide is not warned me, so i add husky to make sure the eslint has been check before commit.
This pull request is in the type of:

[ ] bug fixing
[ ] new feature
[x] others

What does this PR do?
add husky and pre-commit task to keep the code style consistent
Fixed issues
Details
Before: What was the problem?
may commit a pr without check the code style
After: How is it fixed in this PR?
the commit will interrupt by the git-hook (husky)
Usage
Are there any API changes?

[ ] The API has been changed.

Related test cases or examples to use the new APIs
NA.
Others
Merging options

[x] Please squash the commits into a single one when merge.

Other information

@pissang fix the #12508 and separated the husky for marge


Improve Chunking

Compare
http://localhost:8044/swagger-ui/#/segmentation-controller/getCharacterTextSplitterUsingPOST
with
https://js.langchain.com/docs/modules/data_connection/document_transformers/
https://python.langchain.com/docs/modules/data_connection/document_transformers/semantic-chunker/
and
https://docs.llamaindex.ai/en/v0.10.19/api_reference/service_context/node_parser.html
Also see https://towardsdatascience.com/how-to-chunk-text-data-a-comparative-analysis-3858c4a0997a

Also see "Sentence Window Retrieval"
https://docs.llamaindex.ai/en/stable/examples/node_postprocessor/MetadataReplacementDemo/
https://towardsdatascience.com/the-challenges-of-retrieving-and-evaluating-relevant-context-for-rag-e362f6eaed34

Also see https://medium.datadriveninvestor.com/new-chunking-method-for-rag-systems-2eb3523d0420


Allow multiple nics

Allows for multiple network ids on instance creation

@JSpon Thanks for your contribution. Can you please add tests for this?  It's also good to follow this once you've added your tests as this can help catch things before the github workflow runs it.


One-dimensional NLS using MethodOfLines ‘type Array has no field lhs`

I’m trying to solve the one-dimensional nonlinear Schrodinger equation using MethodOfLines.jl. I looked at the code on the docs: http://methodoflines.sciml.ai/dev/tutorials/brusselator/ 3, and adapted it as:
using ModelingToolkit, MethodOfLines, OrdinaryDiffEq, DomainSets

@parameters x z
@variables A(..)
Dx   = Differential(x)
Dz   = Differential(z)
Dzz  = Differential(z)^2

xmin = 0.
xmax = 1e-1
zmax = 10.
zmin = -zmax

c0 = 1.
A0(x,z) = c0*sech(c0*z/sqrt(2))*exp(im*c0^2*x/2)

domains = [x ∈ Interval(xmin,xmax), z ∈ Interval(zmin,zmax)]

eq = [im*Dx(A(x,z))+Dzz(A(x,z)) ~ -abs2(A(x,z))*A(x,z)]
bcs = [A(xmin,z) ~ A0(xmin,z),
        A(x,zmin) ~ 0,
        A(x,zmax) ~ 0]

@named pdesys = PDESystem(eq,bcs,domains,[x,z],[A(x,z)])

N       = 100
dz      = 1/N
order   = 2

discretization = MOLFiniteDifference([z=>dz], x)

@time prob = discretize(pdesys,discretization)

However this won’t run, giving error type Array has no field lhs. I think the only main difference between my code and the tutorial is that my PDE is for a single function.
 MOL v0.2 requires ModelingToolkit v8.

Sorry, I mistranscribed. I am running ModelingToolkit v8.5.5 (I double checked and the other version numbers I wrote are correct).

Complex equations are not currently supported but I will be working on this, can you reformulate as a system of equations in terms of the real and imaginary parts of
A?

This seems to be above board, this is a bug. I'll take a closer look at this soon.

Thanks! Let me know if you want me to try anything else.


vimPlugins.nvim-treesitter: follow up to #198606

Description of changes

fix formatting of the generated file
update nvim-treesitter grammars
create aliases for nvim-treesitter.builtGrammars to overwrite tree-sitter grammars in nvim-treesitter.withPlugins
add myself as a maintainer

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] 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

[x] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.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
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

there is a little too much lib.*s now, im wondering if i should just add an inherit (lib)

there is a little too much lib.*s now, im wondering if i should just add an inherit (lib)

I don't mind but if you want to change it I'd rather add a local with lib than maintaining a list of inherits.


SuperstaQ -> Superstaq

Towards Open-Beta + fixing server-side issue.

nice. should we plan to deploy as soon as this is merged?


Search Improvement possiblity

Hey,
Hello !
I use JSTree for a project of ontology. I use the search plugin to allow people to quickly find the nodes in my ontology and select them.
However some nodes are associated to synonyms names that I store in the "data" field of node under the "synonyms" field.
I wondered if you had any idea how I could improve the search plugin to not only look for match in the "text" field of nodes (the name of the nodes) but also look for match in a specific location of the "data" field.
Example:
    {
        "id": "6",
        "text": "Type 1 Fiber",
        "icon": true,
        "data": {
            "description": "",
            "synonymes": "my_synonyms1",
        },
        "parent": "5"
    },

In this case, by inputing "my_synonyms1" in the search box, this node would also show up !
Any idea ?
Thanks a lot !

You can override the default search with your own function and implement whatever logic you need:
https://www.jstree.com/api/#/?q=search_call&f=$.jstree.defaults.search.search_callback


Pillow outdated

Add-on is failing to start after latest HA update to 2024.8.0:
Setup failed for custom integration 'qr_generator': Requirements for qr_generator not found: ['pillow==10.3.0'].

Closing as the latest update of the add-on fixes the issue. Thank you guys, that was quick!


fix(scripts): Use @prisma/studio to compute latest version of Studio

🦀 🦀 @prisma/studio-transports is GONE 🦀 🦀

To be clearer, the @prisma/studio-transports package was a very poorly named package that I've finally found time to rename. I noticed we were depending on it to figure out the latest Studio version on the CLI, so I've changed it to @prisma/studio.
All studio packages are always on the same version, so this is the safest package to depend on


Added template functionality to select items

Fixes #92

Could you explain how to use this template thing? It would be very useful... Thanks!

Check out the changes pushed - there were updates to the documentation that explain how to use the feature. Also, remember that the changes are not merged yet!

Hi,
I have a question. I have an Array with a structure like [{ValueId:1,ValueText:"Red"}... ].
For some reason I cannot change that.  Is there any way I can override IOption interface? I am trying this at my end as well, if it works out I will post it here.
Also can someone point me in a right direction in implementing above template syntax.
Thanks in advance!


throw new TypeError(${context} is not a ReadableStream.);

Describe the bug
机器 Mac mini M1
❯ node -v
v16.13.2
❯ npm -v
8.3.0
按照 readme 操作之后，运行不起来
❯ npm run dev

<EMAIL_ADDRESS>dev
astro dev

(node:55714) ExperimentalWarning: stream/web is an experimental feature. This feature could change at any time
(Use node --trace-warnings ... to show where the warning was created)
🚀  astro  v2.0.17 started in 40ms
┃ Local    http://localhost:3000/
┃ Network  use --host to expose
file:///Users/ming/code/chatgpt-demo/node_modules/node-fetch-native/dist/shared/node-fetch-native.2b047dc1.mjs:432
throw new TypeError(${context} is not a ReadableStream.);
^
TypeError: First parameter has member 'readable' that is not a ReadableStream.
at assertReadableStream (file:///Users/ming/code/chatgpt-demo/node_modules/node-fetch-native/dist/shared/node-fetch-native.2b047dc1.mjs:432:21)
at convertReadableWritablePair (file:///Users/ming/code/chatgpt-demo/node_modules/node-fetch-native/dist/shared/node-fetch-native.2b047dc1.mjs:3509:11)
at ReadableStream.pipeThrough (file:///Users/ming/code/chatgpt-demo/node_modules/node-fetch-native/dist/shared/node-fetch-native.2b047dc1.mjs:3584:33)
at fetchFinale (/Users/ming/code/chatgpt-demo/node_modules/undici/lib/fetch/index.js:973:52)
at mainFetch (/Users/ming/code/chatgpt-demo/node_modules/undici/lib/fetch/index.js:773:5)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
Reproduction
1
System Info
1

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

相同问题

node v18

感谢 @likui628 问题已解决。
因为我在 Mac，通过
brew install node@18

可以安装好，然后把 /opt/homebrew/opt/node@18/bin 加入环境变量。
之后再来运行项目就 OK 了。
@khum08  你或许可以参考一下。

确实 需要node 18+


Add responsive classes for CSS 'display' property

This feature takes the utiltity display function and extends it to be a responsive helper.
introduction of .d-XX-block, .d-XX-inline-block, .d-XX-inline classes.

Hope ive done this right :)

Please exclude dist/ files from pull requests.

Duplicate of #18410.


App crashes every time I pull down quick settings

Apk source: F-Droid
Device: Moto G6 (stock/unrooted)
Android 8.0.0
Build number: OPS27.104-92
Relevant logcat obtained from adb logcat|grep -E '6716|caffeine'. Can send full logcat if you send me an email (or keybase chat)0
12-04 19:10:37.006  1719  2862 I ActivityManager: Start proc 6716:tr.edu.iyte.caffeine/u0a397 for service tr.edu.iyte.caffeine/.CaffeineTileService
12-04 19:10:37.006  6716  6716 E SchedPolicy: open of /dev/cpuctl/bg_non_interactive/tasks failed: No such file or directory
12-04 19:10:37.119  6716  6716 I CaffeineTileService: started listening
12-04 19:10:37.119  6716  6716 I CaffeineTileService: phone is locked, caffeine won't operate
12-04 19:10:37.120  6716  6716 I CaffeineTileService: updating label: Caffeine
12-04 19:17:10.399  6716  6716 D AndroidRuntime: Shutting down VM
12-04 19:17:10.399  6716  6716 E AndroidRuntime: FATAL EXCEPTION: main
12-04 19:17:10.399  6716  6716 E AndroidRuntime: Process: tr.edu.iyte.caffeine, PID: 6716
12-04 19:17:10.399  6716  6716 E AndroidRuntime: java.lang.IllegalArgumentException: Service not registered: tr.edu.iyte.caffeine.CaffeineTileService$e@862a4ea
12-04 19:17:10.399  6716  6716 E AndroidRuntime: 	at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1475)
12-04 19:17:10.399  6716  6716 E AndroidRuntime: 	at android.app.ContextImpl.unbindService(ContextImpl.java:1637)
12-04 19:17:10.399  6716  6716 E AndroidRuntime: 	at android.content.ContextWrapper.unbindService(ContextWrapper.java:697)
12-04 19:17:10.399  6716  6716 E AndroidRuntime: 	at tr.edu.iyte.caffeine.CaffeineTileService.onStopListening(Unknown Source:19)
12-04 19:17:10.399  6716  6716 E AndroidRuntime: 	at android.service.quicksettings.TileService$H.handleMessage(TileService.java:401)
12-04 19:17:10.399  6716  6716 E AndroidRuntime: 	at android.os.Handler.dispatchMessage(Handler.java:105)
12-04 19:17:10.399  6716  6716 E AndroidRuntime: 	at android.os.Looper.loop(Looper.java:164)
12-04 19:17:10.399  6716  6716 E AndroidRuntime: 	at android.app.ActivityThread.main(ActivityThread.java:6694)
12-04 19:17:10.399  6716  6716 E AndroidRuntime: 	at java.lang.reflect.Method.invoke(Native Method)
12-04 19:17:10.399  6716  6716 E AndroidRuntime: 	at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
12-04 19:17:10.399  6716  6716 E AndroidRuntime: 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:769)
12-04 19:17:10.416  1719  1900 I ActivityManager: Showing crash dialog for package tr.edu.iyte.caffeine u0
12-04 19:17:11.681  1719  2862 I ActivityManager: Killing 6716:tr.edu.iyte.caffeine/u0a397 (adj 0): crash

The file may not exist at all, as the following commands show from termux:
$ stat /dev/cpuctl /dev/cpuctl/bg_non_interactive /dev/cpuctl/non_interactive/tasks
  File: /dev/cpuctl
  Size: 0         	Blocks: 0          IO Block: 4096   directory
Device: 12h/18d	Inode: 1           Links: 2
Access: (0555/dr-xr-xr-x)  Uid: ( 1000/  system)   Gid: ( 1000/  system)
Access: 1970-02-02 11:02:03.670000714 -0800
Modify: 1970-02-02 11:02:03.670000714 -0800
Change: 1970-02-02 11:02:03.670000714 -0800
 Birth: -
stat: cannot stat '/dev/cpuctl/bg_non_interactive': No such file or directory
stat: cannot stat '/dev/cpuctl/non_interactive/tasks': No such file or directory

Hey there! I'm not maintaining FDroid version, since I'm not the one who uploaded the app there. You should download Google Play version instead. It's more up to date. But I can't guarantee that even GP version will work because I stopped maintaining the app entirely. Thanks.

Thanks. I think the update fixed it. I installed from F-Droid because that's where I saw it; I assumed it was an official F-Droid release, but it seems to be from a 3rd-party repo that doesn't do its own builds, as Google play allowed a direct update (ie no signing issues).

Also, if the app is no longer being developed, I would suggest removing this line from the readme, or at least updating it to suggest forking instead.

Suggestions and critics are welcome!


No Plugin with key 'org.jfrog.bamboo.bamboo-artifactory-plugin:maven3Task' is installed

Hi,
since I installed the new Version of the Plugin we receive "no Plugin installed" error. I already tried to disable/enable and uninstall/install the plugin again. In our plan we use the "Artifactory Maven 3" Task with "clean install" goals. Any ideas or a bug?
Bamboo Version: <IP_ADDRESS> build 51416 - 05 Dec 16
Plugin Version: 2.0.0
Build runs on EC2 Agent
Output Log-File

2017-01-09 11:48:59,620 INFO [bambooAgentMessageListenerConnector-1] [DefaultErrorHandler] Recording an error: Could not execute task  no Plugin with key 'org.jfrog.bamboo.bamboo-artifactory-plugin:maven3Task' is installed. : EC-EJC-JOB1

Log-Output from Bamboo:

error	09-Jan-2017 11:44:33	Could not execute task  no Plugin with key
'org.jfrog.bamboo.bamboo-artifactory-plugin:maven3Task' is installed.
simple	09-Jan-2017 11:44:33	Running post build plugin 'Docker Container Cleanup'
simple	09-Jan-2017 11:44:33	Running post build plugin 'NCover Results Collector'
simple	09-Jan-2017 11:44:33	Running post build plugin 'Clover Results Collector'
simple	09-Jan-2017 11:44:33	Running post build plugin 'npm Cache Cleanup'
simple	09-Jan-2017 11:44:33	Running post build plugin 'Artifact Copier'
simple	09-Jan-2017 11:44:33	Finalising the build...
simple	09-Jan-2017 11:44:33	Stopping timer.
simple	09-Jan-2017 11:44:33	Build EC-EJC-JOB1-16 completed.

@fszilinski,
Did you upgrade to version 2.0.0 of the plugin, using the upgrade procedure described here?

Yes. At the moment I am following a more general problem described here:
https://answers.atlassian.com/questions/37534625/bamboo-plugin-not-found-on-agents
It looks like something on Remote Agent Instance is not configured correct.

Ok, seems like adding the executable again to the remote agent instance solved the plugin problem. I created a new AMI from the new instance.
My Problem now seems to be, that the "Resolve artifacts from Artifactory" function is not working anymore. My expectation was, that the maven settings.xml file get automatically created by choosing this option. Workarround is to add the settings.xml manually on initialization script of agent.

@fszilinski.
When checking the "Resolve artifacts from Artifactory" checkbox, choosing "Resolution Artifactory Server URL" and a "Resolution repository", the build resolves the dependencies from the defined Artifactory repository, regardless of your settings.xml definitions.
I've just tested it following your message, and it seems to work.

This issue appeared several times on our bamboo remote elastic agents and we found the original problem that caused the plugin error. Our remote agent java process (not the instance) was started with low memory settings (Xmx=256m) that is written in file "/tmp/bamboo-agent-bootstrap-1.sh".
After loading several AddOn's the Artifactory Plugin caused a OutOfMemoryError error.
2017-10-06 10:18:42,185 ERROR [AgentRunnerThread] [ScanningPluginLoader] Unable to deploy plugin 'org.jfrog.bamboo.bamboo-artifactory-plugin' from 'Unit: /home/bamboo/bamboo-agent-home/plugins/user-installed/plugin.7243879669873312599.bamboo-artifactory-plugin-2.1.1.jar<PHONE_NUMBER>000)'.
2017-10-06 10:18:42,186 ERROR [AgentRunnerThread] [ScanningPluginLoader] Because of the following exception:
java.lang.OutOfMemoryError: Java heap space

After some research howto increase the bamboo setup I found this description. Since we increased the XmX to 512MB it works like a charm!

@fszilinski this scenario played out in my environment as well.
Bamboo 6.4.1 with default Local and Remote Elastic Agent settings.
The AMI spins up and can get through work that didn't include additional plugins.  If, however, a stage running an Elastic Agent had a task that invokes a plugin ( also the bamboo-artifactory-plugin specifically , via Generic Artifactory Deploy task, in my case ), then I would see the error reported by the build failure summary ( "No Plugin [...] is installed" ).
At first it seemed counterintuitive to associate this error message with an "Java heap space" limit, but it makes more sense now.  Your link referring to the sed replacement of the heap size resolved this for me as well.
Thanks!

@fszilinski,
It seems that your solution works.
With your permission, I'm closing this issue for now.

Hi Guys,
I am getting an error with the latest version of the bamboo(7.0.4) and Jforg artifactory plugin(3.10) version.
I don't see OutOfMemory errors, and I have plenty of space available on a remote agent.
Could not execute task 'Get latest DDF FMF and HCFW config' no Plugin with key 'org.jfrog.bamboo.bamboo-artifactory-plugin:artifactoryGenericResolveTask' is installed.
(11 Aug 2020, 1:02:49 PM, Occurrences: 4, Agents: hcfw-regression-1 (2))

@raj13aug please see @neurostream comment in this thread.
He describes the same issue as you are receiving, and solved it with this guide.
This solution applies only for elastic agents.
Is this your case?

I have the same problem as @raj13aug. Remote Agents, but not elastic. "Could not execute Task '' no plugin with key 'org.jfrog.bamboo.bamboo-artifactory-plugin:artifactoryGradleTask' is installed.

Hi @DanielWeeber,
It's working fine after increased memory on a remote agent.
https://confluence.atlassian.com/bamkb/outofmemory-errors-in-bamboo-server-or-in-remote-agent-307038120.html
Regards,
Nataraj.R


[Bug]: After an import from PDI, the run configuration for workflow tasks are not set in a workflow

Apache Hop version?
2.6, 2.7, 2.8
Java version?
openjdk version "17.0.8" 2023-07-18
Operating system
Windows
What happened?
The import process for PDI does not set the run configuration for workflow tasks in a workflow.
When running an imported workflow with workflow actions an error occurs at each workflow action, because the line "<run_configuration>local</run_configuration>" is missing in the task. It gives the following error:
 - ERROR: Error running action 'workflow' :
 - ERROR: org.apache.hop.core.exception.HopException:
 - You need to specify a workflow run configuration to execute this workflow
 -
 - 	at org.apache.hop.workflow.engine.WorkflowEngineFactory.createWorkflowEngine(WorkflowEngineFactory.java:43)
 - 	at org.apache.hop.workflow.actions.workflow.ActionWorkflow.execute(ActionWorkflow.java:445)
 - 	at org.apache.hop.workflow.Workflow.executeFromStart(Workflow.java:655)
 - 	at org.apache.hop.workflow.Workflow.executeFromStart(Workflow.java:798)
 - 	at org.apache.hop.workflow.Workflow.executeFromStart(Workflow.java:798)
 - 	at org.apache.hop.workflow.Workflow.executeFromStart(Workflow.java:798)
 - 	at org.apache.hop.workflow.Workflow.executeFromStart(Workflow.java:798)
 - 	at org.apache.hop.workflow.Workflow.executeFromStart(Workflow.java:456)
 - 	at org.apache.hop.workflow.Workflow.startExecution(Workflow.java:300)
 - 	at org.apache.hop.workflow.engines.local.LocalWorkflowEngine.startExecution(LocalWorkflowEngine.java:249)
 - 	at org.apache.hop.ui.hopgui.file.workflow.HopGuiWorkflowGraph.lambda$start$9(HopGuiWorkflowGraph.java:3683)
 - 	at java.base/java.lang.Thread.run(Thread.java:833)
Right now, you have to edit each task and close it with OK to truly set the run configuration for the task.
Issue Priority
Priority: 3
Issue Component
Component: Import

Often  and  get added too.

This probably depends on the imported version of PDI. The Hop importer replaces the "run_configuration" element, which does not exist for Job entry (PDI V7).
Job entry (PDI 7)

Job entry (PDI V9 )


License, please?

Just stumbled on this by luck, and was thinking 'I don't see a license'.

:+1:  @shaneaevans ?

hi @nyov @pombredanne , thanks for reporting,
we've added a LICENSE file (see https://github.com/scrapinghub/python-simhash/pull/4)
Enjoy!


fix(chore): remove static MenuItem references for Menu

This hot fix removes circular dependency between Menu -> MenuItem -> Menu that fails docs from start

Warnings

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

  Generated by :no_entry_sign: dangerJS


[Testing phase, don't review] Migrate to new pool

Migrate to new pool

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow

The following pipelines have been queued for testing:java - templatejava - template - testsjs - templatenet - templatenet - template - testspython - templatepython - template - tests You can sign off on the approval gate to test the release stage of each pipeline. See eng/common workflow


Fixing headlines and lint warnings

@mippzon, I'm closing this pull request as it has a lot of commits that are not relevant to changes you're intending to do. (Like a lot of changes in Contributors.md).
Could you create another branch and try this again?

@Roshanjossey No problem, it seems as I messed up my repo, getting all those extra commits in there. Think it happen when trying to rebase or merge from your main repo somehow :(


Could you add support for Sunricher zg2833k8-eu05 please?

Device description
Sunricher 8 button (sunricher-zg2833k8-eu05)
MQTT message with device information
{"ieeeAddr":"0xccccccfffe8a0e53","type":"EndDevice","networkAddress":16740,"model":"ROB_200-007-0","vendor":"ROBB","description":"Zigbee 8 button wall switch","friendly_name":"8Button - Anke","manufacturerID":4644,"manufacturerName":"Sunricher","powerSource":"Battery","modelID":"ZG2833K8_EU05","hardwareVersion":0,"softwareBuildID":"2.5.3_r20","dateCode":"NULL","lastSeen":1591376896725}]}
MQTT messages from device
{"linkquality":218,"action":"on_1","action_group":25601}
{"linkquality":218,"action":"on_2","action_group":25602}
{"linkquality":218,"action":"on_3","action_group":25603}
{"linkquality":218,"action":"on_4","action_group":25604}
{"linkquality":218,"action":"off_1","action_group":25601}
{"linkquality":218,"action":"off_2","action_group":25602}
{"linkquality":218,"action":"off_3","action_group":25603}
{"linkquality":218,"action":"off_4","action_group":25604}
{"linkquality":222,"action":"brightness_move_up_1","action_rate":50,"action_group":25601}
{"linkquality":222,"action":"brightness_stop_1","action_group":25601}
{"linkquality":222,"action":"brightness_move_down_1","action_rate":50,"action_group":25601}
{"linkquality":222,"action":"brightness_stop_1","action_group":25601}
{"linkquality":222,"action":"brightness_move_up_2","action_rate":50,"action_group":25602}
{"linkquality":222,"action":"brightness_stop_2","action_group":25602}
{"linkquality":222,"action":"brightness_move_down_2","action_rate":50,"action_group":25602}
{"linkquality":222,"action":"brightness_stop_2","action_group":25602}
{"linkquality":222,"action":"brightness_move_up_3","action_rate":50,"action_group":25603}
{"linkquality":222,"action":"brightness_stop_3","action_group":25603}
{"linkquality":222,"action":"brightness_move_down_3","action_rate":50,"action_group":25603}
{"linkquality":222,"action":"brightness_stop_3","action_group":25603}
{"linkquality":222,"action":"brightness_move_up_4","action_rate":50,"action_group":25604}
{"linkquality":222,"action":"brightness_stop_4","action_group":25604}
{"linkquality":222,"action":"brightness_move_down_4","action_rate":50,"action_group":25604}
{"linkquality":222,"action":"brightness_stop_4","action_group":25604}

I think this could be implemented as 4 switches and 4 selectors

Do you need anything else ?

Please consider switching to the next version of the plugin #458.
Reopen this issue in case of any issues.


feat!: BoxCLI major version 4.0.0

Pull Request Test Coverage Report for Build<PHONE_NUMBER>5
Details

36 of 106 (33.96%)  changed or added relevant lines in 2 files are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-1.5%) to 85.113%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/token-cache.js
0
12
0.0%

src/box-command.js
36
94
38.3%

Files with Coverage Reduction
New Missed Lines
%

src/commands/files/zip.js
1
81.03%

src/token-cache.js
1
15.15%

Totals

Change from base Build<PHONE_NUMBER>4:
-1.5%

Covered Lines:
4314

Relevant Lines:
4888

💛  - Coveralls


errors: Is and As make it impossible to maintain error hygiene

$ go version
go version devel +e883d000f4 Wed May 29 13:27:00 2019 +0000 linux/amd64

It's typical that Go code has many lines of code that return errors as a consequence of other errors. In large programs, it can be hard to refactor this code with confidence because by changing the code, we might be changing the set of possible errors that can be returned, and some unknown caller might be broken by the refactor because they're relying on a specific error that's no longer returned.
The nature of such breakage is that it often goes unnoticed for long periods because errors are usually infrequent.
For this reason, I believe it's good to maintain what I call error hygiene: to restrict the set of returned errors to those that are explicitly part of a function's contract.
One good example of this is fmt.Errorf("message: %v", err) which hides the type and value of err from any subsequent Is or As call.
Unfortunately, I don't believe it's possible to preserve error hygiene in general with the scheme used for Is and As.
Suppose that we want to define the following function that we'll use to restrict error values to a particular type. This is a bare-minimum requirement for error hygiene.
// KeepType keeps only the given targetType as a possible target
// type for the As function.
//
// For any error e and types T and U:
//
//	As(KeepType(e, new(T)), new(U))
//
// will return true if and only if As(e, new(T)) is true and U is
// identical to T. In other words, it hides all types other than T from
// future inspections with As.
func KeepType(err error, targetType interface{}) error

How can we implement this function? For errors that don't fit the designated target type, the implementation is easy: just hide the whole error chain. However, if there's an error that does fit the target type, there's a problem: we can't preserve the target type without also preserving the error chain that's below it, because in general the chain is held in a field within the error value that we might not have access to. We can't make a new error value because then it wouldn't be the required target type.
I think that As and Is are thus potentially problematic and we should consider whether it's a good idea to keep them as is. (so to speak :) )

@mpvl @jba

The generic KeepType function seems like a bit of a red herring: if you're maintaining the sort of error hygiene you describe, you know the specific set of types T in question, and you can use functions or methods specific to those types to construct opaque instances.
You could even imagine adding a new well-known method (perhaps Flatten() error?) that allows the type to construct such an instance itself.

I don't believe it's entirely a red-herring.
The type you're wanting to preserve might not be defined in the package that wants to preserve it. It's not uncommon for modules to use a common errors package shared by many packages, for example. Another example: I might want to preserve a database-specific error type. Pq isn't a great example because all the fields are exported, but that might not be the case in future or with other drivers.
Also, AFAICS the flatten operation can need O(num-errors-in-chain) allocations if you want to preserve stack information, which isn't ideal. I guess there might be ways around that though.

FWIW the same issue applies to Is, although it's likely to be less of a common problem.
Consider:
var MyEOF = fmt.Errorf("my EOF: %w", io.EOF)

This satisfies both errors.Is(MyEOF) and errors.Is(io.EOF) but there's no way to preserve the former without also preserving the latter.

This satisfies both errors.Is(MyEOF) and errors.Is(io.EOF) but there's no way to preserve the former without also preserving the latter.

That's true, but I think that only reinforces my point: it is up to the author of the error (or error type), not the user of the error, to decide how much information that type or value is capable of masking.

AFAICS the flatten operation can need O(num-errors-in-chain) allocations if you want to preserve stack information, which isn't ideal. I guess there might be ways around that though.

If you want to preserve the first k errors in a chain of N links, you only need to allocate k new links in general: the remainder can opaquely wrap the tail of the chain (using %v instead of %w).

I think the problem is the errors.As/Is function will check for As/Is methods on the first error, but if it returns false, they will keep unwrapping the chain and checking until they find something that returns true. They should instead short-circuit the first time an error in the chain implements an As/Is method.

var MyEOF = fmt.Errorf("my EOF: %w", io.EOF)
This satisfies both errors.Is(MyEOF) and errors.Is(io.EOF) but there's no way to preserve the former without also preserving the latter.

If I understand your issue correctly, the more general form of what you ask is
given err = ErrorA /*wraps*/ ErrorB /*wraps*/ ErrorC
can there be a way to convert it to
ErrorA /*wraps*/ ErrorC
I don't think there is a way of doing that in the errors package as it is currently proposed.
It can be done trivially easy if doing error wrapping using a linked list of errors, but that won't be supported under the new changes.
An example: https://github.com/JavierZunzunegui/go/pull/1/commits/4489292040d6098b432f9bf3cecab1ee3ae03aa0#diff-653dcb659c69a84ac6ce23e6e48509a3R6

I believe this is an implementation of KeepType:
func KeepType(err error, targetType interface{}) error {
    return &keepError{err, reflect.PtrTo(reflect.TypeOf(targetType))}
}

type keepError struct {
    err        error
    targetType reflect.Type
}

func (k *keepError) Error() string {
    return k.err.Error()
}

func (k *keepError) As(target interface{}) bool {
    if reflect.TypeOf(target) != k.targetType {
        return false
    }
    return errors.As(k.err, target)
}

Proof: KeepType should "return true if and only if As(e, new(T)) is true and U is identical to T. "
If direction: if U is identical to T, we skip past the initial if statement, execute As(e, new(T)) (since U is identical to T) and return its value, so if U is identical to T and As(e, new(T)) returns true, so does KeepType.
Only if direction: we need to show that if U is not identical to T or if As(e, new(T)) is false, then KeepType returns false. The initial if handles the first disjunct, and the subsequent call to errors.As handles the second.

They should instead short-circuit the first time an error in the chain implements an As/Is method.

We considered that seriously for a while. Ultimately we rejected it. It does give the As/Is methods more power, but the cost is that every such method must follow the chain to get the right answer. We opted for the less powerful but easier to implement semantics.

In my comment above I left out an important part of the proof: the keepType type has no Unwrap method, so the return value from its As method is the return value from errors.As.

Another way to think about this problem is that there are multiple uses for error chains:

you may want to know about all errors in a chain, for logging
you may only want to know about some errors in a chain, for handling
you may want some ability to format error output or keep stack frames (dropped from 1.13)

The current Is/As functions tie the first two kinds of errors chains together, when conceptually they are different.

every such method must follow the chain to get the right answer.

Just call the function on your wrapper error if you want the default semantics. That’s not hard to implement. Or just don’t have a method at all and get default semantics for free. I think you only want the method at all because you want to do something unusual.

KeepType needs to remember its Fleetwood Mac: never break the chain!

@rogpeppe

Consider:
var MyEOF = fmt.Errorf("my EOF: %w", io.EOF)
This satisfies both errors.Is(MyEOF) and errors.Is(io.EOF) but there's no way to preserve the former without also preserving the latter.

I struggle to see a situation where you want non-transitive Is: x is MyEOF, MyEOF is io.EOF, but x is not io.EOF.
The similar case with As seems equally confusing: a can be converted to b, b can be converted to c, but a cannot be converted to c?
A concrete example would help here, I think.

That's true, but I think that only reinforces my point: it is up to the author of the error (or error type) — not the user of the error — to decide how much information that type or value is capable of masking.

This seems odd to me. Why should the power of hiding errors be up to the creator of the error rather than the code that wants to hide it?
There is an alternative to walking the chain. Each time we wrap an error, instead of recording a link in the chain, we instead decide whether to keep or drop the underlying error value. I don't actually believe that it's necessary to expose the concept of an error chain at all.
Now that the printing and source location concerns have been removed from the errors package, it has become clear to me that all we really need here is a way of distinguishing error metadata from the actual error itself. By metadata, I mean extra information such as message annotation and source location info.
One thing that was concerning to me about the current proposal is the amount of mechanism involved. Not only do we have an Unwrap type, we also have other interface conventions, such as interface{Is(error)bool} and interface{As(interface{}) bool}, and the As implementation requires the non-trivial reflectlite package as a dependency.
To me, this feels a bit wrong. Error handling is one of the lowest levels of the language. I would like an errors package that feels irreducibly simple, and the current proposal doesn't currently make me feel that way.
How about something like this instead, as the entire implementation of the errors package?
package errors

// New returns an error that formats as the given text.
//
// The returned error's E-value is itself.
func New(s string) error {
	return &errorString{s}
}

// errorString is a trivial implementation of error.
type errorString struct {
	s string
}

func (e *errorString) Error() string {
	return e.s
}

// Error may be implemented by an error value to signify that the error
// value is adding metadata to some underlying error (the "E-value").
type Error interface {
	error

	// E returns the underlying error, or E-value. If it returns
	// nil, the receiver itself should be treated as the
	// E-value.
	E() error
}

// E returns the "E-value" of an error - the part of the error that
// should be used for error diagnosis.
//
// When writing code that makes a decision based on an error, the E
// value should always be used in preference to the error value itself,
// because that allows functions to add metadata to the error, such as
// extra message annotations or source location information, without
// obscuring the actual error.
func E(err error) error {
	for {
		err1, ok := err.(Error)
		if !ok {
			return err
		}
		e := err1.E()
		if e == nil {
			return err
		}
		err = e
	}
}

We don't need the Is or As methods any more, because they're trivially implemented in normal Go:
 if errors.E(err) == io.EOF { .... }

 if err, ok := errors.E(err).(*os.PathError); ok { ... }

Although the E method looks superficially similar to Unwrap, it's not the same, because error wrappers don't need to preserve the error chain - they can just keep the most recent E-value of the error that's being wrapped. This means that error inspection is O(1). The reason for the loop inside the E function is to keep error implementations honest and to avoid confusion: errors.E(err) will always be the same as errors.E(errors.E(err)).
Once we have this, error annotation and other error metadata can be left to other packages. The %v and %w verbs of the fmt package can retain their current semantics.
Here's a simple error-wrapping example:
// Notef returns err prefixed by the given formatted message.
// The returned error's E-value is left unchanged.
// If err is nil, Notef returns nil.
func Notef(err error, msg string, args ...interface{}) error {
	if err == nil {
		return nil
	}
	if m := fmt.Sprintf(msg, args...); m != "" {
		return noteError{
			msg: m,
			err: E(err),
		}
	}
	return err
}

type noteError struct {
	msg string
	err error
}

func (err noteError) Error() string {
	return err.msg + ": " + err.err.Error()
}

func (err noteError) E() error {
	return err.err
}

One thing that was concerning to me about the current proposal is the amount of mechanism involved.

Just want to add a big +1 to this point in particular. I think the current design's reliance on reflect isn't a good idea, and the need for reflectlite to exist is a good example.

Responding to a couple of previous questions:
@jba

I believe this is an implementation of KeepType:

Yes, that works. I'd forgotten about the As-method check. But, as I said above, I'm really not comfortable with the complexity of the current implementation. The As and Is interfaces seem cumbersome to me. Why should an error need to be able to pretend to be something else?
With the trivial implementation I've suggested above, all the complexity melts away AFAICS.
@neild

Consider:
var MyEOF = fmt.Errorf("my EOF: %w", io.EOF)
This satisfies both errors.Is(MyEOF) and errors.Is(io.EOF) but there's no way to preserve the former without also preserving the latter.

I struggle to see a situation where you want non-transitive Is: x is MyEOF, MyEOF is io.EOF, but x is not io.EOF.

Think about io.ErrUnexpectedEOF. You  don't want errgo.Is(err, io.EOF) to return true when err is io.ErrUnexpectedEOF. They're different kinds of error, even though io.ErrUnexpectedEOF is directly related to io.EOF.

The similar case with As seems equally confusing: a can be converted to b, b can be converted to c, but a cannot be converted to c?

I don't understand this.

you may want to know about all errors in a chain, for logging
you may only want to know about some errors in a chain, for handling
...

The current Is/As functions tie the first two kinds of errors chains together, when conceptually they are different.

The intent of Unwrap/Is/As is to provide error information to programs, for handling (the second bullet). The Error method returns the string for logging. It should include information for the entire list of errors, even those not returned by Unwrap.
The two cases correspond to two Errorf verbs:

fmt.Errorf("...: %v", err): display err for logging, but not handling
fmt.Errrof("...: %w", err): display err for logging, and also make it available for handling

I think the current design's reliance on reflect isn't a good idea, and the need for reflectlite to exist is a good example.

It's unfortunate that we needed reflectlite, but that's an implementation detail. You need reflection for As, and we think As is important because it generalizes the common practice of type-asserting errors to the case of error chains.

I don't actually believe that it's necessary to expose the concept of an error chain at all.

We address this in our draft design: "We feel that a single error is too limited a view into the error chain. More than one error might be worth examining."

Why should an error need to be able to pretend to be something else?

So Is can be used in place of error predicates. For example, to ask if err is temporary, you write errors.Is(err, os.ErrTemporary). This is used in several places in 1.13, notably the net package.
For example, see the net.DNSError.Is method.

I don't actually believe that it's necessary to expose the concept of an error chain at all.

We address this in our draft design: "We feel that a single error is too limited a view into the error chain. More than one error might be worth examining."

I find it difficult to buy the justification there. There's only one example in the design document (os.PathError), and os.PathError is almost exclusively used just for its error string annotation. The single counter-example in the standard library is arguably only there because io.Copy doesn't indicate whether the error came from the reader or the writer.
There is nothing stopping you examining more than one error - any given error type can expose access to its underlying error; but I haven't yet seen any persuasive argument that all error inspection needs to traverse the chain. I think that this single aspect of the design accounts for almost all the complexity of the result, so it's worth more justification IMHO.

Why should an error need to be able to pretend to be something else?

So Is can be used in place of error predicates. For example, to ask if err is temporary, you write errors.Is(err, os.ErrTemporary). This is used in several places in 1.13, notably the net package.
For example, see the net.DNSError.Is method.

I'm not sure that the generality of Is is needed, at least for the current use cases in the standard library.
Of the eight implementation of the Is method in the standard library, all but two are there to implement temporary/timeout errors. Is errors.Is(err, os.ErrTemporary) qualitatively better than os.IsTimeout(err)?
If we want syscall.Errno to be associated with os package errors, we could make it define a method that exposes that functionality:
func (e Errno) OSError() error {
	switch e {
	case EACCES, EPERM:
		return oserror.ErrPermission
	case EEXIST, ENOTEMPTY:
		return oserror.ErrExist
	case ENOENT:
		return oserror.ErrNotExist
	}
	return nil
}

Then in the os package, we could define:
// OSError is implemented by errors that may be associated with
// an error defined in the os package.
type OSError interface {
	OSError() error
}

// Error returns the underlying OS error of the
// given error, if there is one, or nil otherwise.
//
// For example, os.IsNotExist(err) is equivalent to
//     os.Error(err) == os.ErrNotExist.
func Error(err error) error {
	err1, ok := err.(OSError)
	if ok {
		return err1.OSError()
	}
	return nil
}

This would then cover the only other place that Is is defined in the standard library: in internal/web.HTTPError:
func (e *HTTPError) OSError() error {
	if e.StatusCode == 404 || e.StatusCode == 410 {
		return os.ErrNotExist
	}
	return nil
}

I'm very sorry that I seem to have seriously derailed this from the original issue. All this really belongs in a separate issue, as it's clear that you can maintain error hygiene with the existing design, albeit with some awkwardness (this is how KeepType would actually need to look, I think).
I'm just uncomfortable with the current design. If it lands now, we'll be stuck with it forever and I don't feel we've had enough experience so far with it to justify it.

It's unfortunate that we needed reflectlite, but that's an implementation detail. You need reflection for As, and we think As is important because it generalizes the common practice of type-asserting errors to the case of error chains.

Go already has a type assertion statement. The fact that such a low level package as errors needs to resort to interface{} and reflect-based magic is surely not ideal. Beginners will need to be exposed to this from a very early stage, and it's really not easy to explain.

Think about io.ErrUnexpectedEOF. You don't want errgo.Is(err, io.EOF) to return true when err is io.ErrUnexpectedEOF. They're different kinds of error, even though io.ErrUnexpectedEOF is directly related to io.EOF.

This example confuses me, because errors.Is(io.ErrUnexpectedEOF, io.EOF) does return false. They may be related, but ErrUnexpectedEOF is not EOF.

This example confuses me, because errors.Is(io.ErrUnexpectedEOF, io.EOF) does return false. They may be related, but ErrUnexpectedEOF is not EOF.

Yes, that's of course true. But if you're thinking of error chains, one could consider that io.ErrUnexpectedEOF is a kind of wrapper for io.EOF. You wouldn't want it to be visible as such, and that's a part of my point. Even though the underlying error is notionally io.EOF (that's what caused the unexpected-EOF error), you'd never want errors.Is(err, io.EOF) to return true, because the outer error takes precedence. I think that's true in general, and that any unwrapping functionality should be domain-specific rather than generic across all errors.

I'm very sorry that I seem to have seriously derailed this from the original issue. All this really belongs in a separate issue, as it's clear that you can maintain error hygiene with the existing design

I'm closing this issue in favour of #32405.