SWIG interface file

I want to rebuild some features of harvesters in C#.
Unfortunately, that it is difficult for me to call class from GenApi.dll(C++) in C#.
Can I request interface files(.i)?
BTW, why genicam doesn't have a repository?

Hi,
Thank you for the message. I’ll inform your request in the next international machine vision meeting. Perhaps some developers may get interested in it.
We do have a repository for the genicam package but it’s protected by the license defined by the European Machine Vision Association, so called EMVA.
You can get access to it once you agree with the contract that they define. I would like to encourage you making contact with EMVA first.
Thanks, Kazunari

I want to rebuild some features of harvesters in C#.
Unfortunately, that it is difficult for me to call class from GenApi.dll(C++) in C#.

Note that you can definitely call unmanaged c++ code from C#, you just need to make a c# wrapper class to hide some of the messiness.

I can using DllImport, But using classes and structs from c++ to c# is confusing for me.
I tried SWIG sample by class, that is work.
And genicam package was automatically generated by SWIG.
This is the main reason I ask for the interface file.
Maybe I try other solution, thanks for the reply:).


added production app to manifest

Codecov Report

Merging #133 (87e4b00) into main (d605026) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #133   +/-   ##
=======================================
  Coverage   95.60%   95.60%
=======================================
  Files           4        4
  Lines         387      387
=======================================
  Hits          370      370
  Misses         17       17

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 d605026...87e4b00. Read the comment docs.


Crash getting global temp dir when restarting jobtree

When I go to restart one of my jobTree scripts that uses the global and local temp directories, after some of its jobs have  I get a crash from the internal jobTree code complaining about some directories not existing.
Can the code be made to handle the lack of existence of those directories?
log.txt:	---JOBTREE SLAVE OUTPUT LOG---
log.txt:	Traceback (most recent call last):
log.txt:	  File "/cluster/home/anovak/.local/lib/python2.7/site-packages/jobTree-1.0-py2.7.egg/jobTree/src/jobTreeSlave.py", line 271, in main
log.txt:	    defaultMemory=defaultMemory, defaultCpu=defaultCpu, depth=depth)
log.txt:	  File "/cluster/home/anovak/.local/lib/python2.7/site-packages/jobTree-1.0-py2.7.egg/jobTree/scriptTree/stack.py", line 153, in execute
log.txt:	    self.target.run()
log.txt:	  File "/cluster/home/anovak/hive/sgdev/mhc/targets.py", line 244, in run
log.txt:	    index_dir = sonLib.bioio.getTempFile(rootDir=self.getGlobalTempDir())
log.txt:	  File "/cluster/home/anovak/.local/lib/python2.7/site-packages/jobTree-1.0-py2.7.egg/jobTree/scriptTree/target.py", line 103, in getGlobalTempDir
log.txt:	    self.globalTempDir = self.stack.getGlobalTempDir()
log.txt:	  File "/cluster/home/anovak/.local/lib/python2.7/site-packages/jobTree-1.0-py2.7.egg/jobTree/scriptTree/stack.py", line 129, in getGlobalTempDir
log.txt:	    return getTempDirectory(rootDir=self.globalTempDir)
log.txt:	  File "/cluster/home/anovak/.local/lib/python2.7/site-packages/sonLib-1.0-py2.7.egg/sonLib/bioio.py", line 457, in getTempDirectory
log.txt:	    os.mkdir(rootDir)
log.txt:	OSError: [Errno 20] Not a directory: '/cluster/home/anovak/hive/sgdev/mhc/tree7/jobs/t2/t3/t1/t0/gTD0/tmp_Zss3uyl5X6/tmp_45OevDhWor/tmp_vxiVIbzGSw'
log.txt:	Exiting the slave because of a failed job on host ku-1-21.local
log.txt:	Due to failure we are reducing the remaining retry count of job /cluster/home/anovak/hive/sgdev/mhc/tree7/jobs/t2/t3/t1/t0/job to 0

Is this a from a run that crashed over the weekend? Something went majorly wrong with the cluster, and the jobTree might not be recoverable. The directory that it's trying to make a subdirectory of is a 0-length file, which is totally screwed up. I don't see any code path that could lead to that being a file.
In my jobTree, I also had 0-length pickle files show up when it was (according to the posix spec) impossible for them to, so I think this isn't a jobTree error, but a fluke caused by our cluster trouble.

No, I wiped the tree and started this yesterday. It could be due to the
fact that one of the cluster nodes has a hung filesystem mount of some sort
and has been taking jobs and doing who knows what with them.
I noticed that sonLib's temp directory getting function, if it decided to
try a temp directory name and the name is taken, tries to make a
subdirectory of that name instead of picking a new name in the root. I've
changed that around in my copy, and then jobTree successfully can run my
target and start up my C++ code.
On Thu, Feb 5, 2015 at 11:05 AM, Joel Armstrong<EMAIL_ADDRESS>wrote:

Is this a from a run that crashed over the weekend? Something went majorly
wrong with the cluster, and the jobTree might not be recoverable. The
directory that it's trying to make a subdirectory of is a 0-length file,
which is totally screwed up. I don't see any code path that could lead to
that being a file.
In my jobTree, I also had 0-length pickle files show up when it was
(according to the posix spec) impossible for them to, so I think this isn't
a jobTree error, but a fluke caused by our cluster trouble.
—
Reply to this email directly or view it on GitHub
https://github.com/benedictpaten/jobTree/issues/27#issuecomment-73105812
.


Added dialects for intervals and specific DB Query classes

Coverage increased (+0.02%) to 98.358% when pulling f0586963ff8bdabe4e0618336bb09c7db4cd3e98 on mikeengland:master into 34f7943368dc0051046f74d1bd8ea3155aa9413f on kayak:master.

Coverage increased (+0.02%) to 98.356% when pulling ebb788ee40ecee788a083003891da828b5fa9aac on mikeengland:master into 34f7943368dc0051046f74d1bd8ea3155aa9413f on kayak:master.


Issues fixed

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

server-2013/connect-a-survivable-branch-appliance.md
:white_check_mark:Succeeded

server-2013/deploying-a-sql-server-nonstandard-port-and-alias-in-lync-server-2013.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-choosing-a-topology.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-configure-lync-server-2013-to-work-with-unified-messaging-on-microsoft-exchange-server.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-dns-requirements-for-simple-urls.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-installing-the-operation-manager-agent-files.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-new-exchange-server-integration-features.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-technical-requirements-for-persistent-chat-server.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-using-microsoft-sql-server-2008-r2-as-your-system-center-operations-manager-database.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

server-2013/configure-federation-routes-and-media-traffic.md
:white_check_mark:Succeeded

server-2013/connect-a-survivable-branch-appliance.md
:white_check_mark:Succeeded

server-2013/deploying-a-sql-server-nonstandard-port-and-alias-in-lync-server-2013.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-choosing-a-topology.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-configure-lync-server-2013-to-work-with-unified-messaging-on-microsoft-exchange-server.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-dns-requirements-for-simple-urls.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-installing-the-operation-manager-agent-files.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-new-exchange-server-integration-features.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-technical-requirements-for-persistent-chat-server.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-using-microsoft-sql-server-2008-r2-as-your-system-center-operations-manager-database.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

server-2013/configure-federation-routes-and-media-traffic.md
:white_check_mark:Succeeded

server-2013/connect-a-survivable-branch-appliance.md
:white_check_mark:Succeeded

server-2013/deploying-a-sql-server-nonstandard-port-and-alias-in-lync-server-2013.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-choosing-a-topology.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-configure-lync-server-2013-to-work-with-unified-messaging-on-microsoft-exchange-server.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-dns-requirements-for-simple-urls.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-installing-the-operation-manager-agent-files.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-new-exchange-server-integration-features.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-technical-requirements-for-persistent-chat-server.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-using-microsoft-sql-server-2008-r2-as-your-system-center-operations-manager-database.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

server-2013/configure-federation-routes-and-media-traffic.md
:white_check_mark:Succeeded

server-2013/connect-a-survivable-branch-appliance.md
:white_check_mark:Succeeded

server-2013/deploying-a-sql-server-nonstandard-port-and-alias-in-lync-server-2013.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-choosing-a-topology.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-configure-lync-server-2013-to-work-with-unified-messaging-on-microsoft-exchange-server.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-dns-requirements-for-simple-urls.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-installing-the-operation-manager-agent-files.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-new-exchange-server-integration-features.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-technical-requirements-for-persistent-chat-server.md
:white_check_mark:Succeeded

server-2013/lync-server-2013-using-microsoft-sql-server-2008-r2-as-your-system-center-operations-manager-database.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


CAMEL-19568: disable header validation on camel-netty-http

Netty seems to complain about the content-type header when dealing with multipart messages. This disables the header validation so that those headers can go through.

This will open us to CVE weakness. From http response splitting to other stuff. Validation should be always enabled

Oh, BTW, this applies to the validation of responses only. That is: the responses Camel is sending ... not those it is consuming.

This will open us to CVE weakness. From http response splitting to other stuff. Validation should be always enabled

Oh, BTW, this applies to the validation of responses only. That is: the responses Camel is sending ... not those it is consuming.

I didn't notice this

The failure is unrelated to this change. Let's merge.


Add a function for creating a string from an address and length

Adds string_from_ptr.  Fixes #97.
Note that char_array_as_string can now be defined as follows:
let char_array_as_string a = CArray.(string_from_ptr (start a) (length a))

For the sake of people who find this via Google, it's actually this:
let char_array_as_string a =
  Ctypes.(string_from_ptr (CArray.start a) (CArray.length a))


parse error loading this module

Here's the error:
Traceback (most recent call last):
  File "./kbdmakerutils", line 1667, in <module>
    circuit = kicad_schematic(physical_matrix, shapes)
  File "./kbdmakerutils", line 1180, in kicad_schematic
    cdiode = circuit.diode()
  File "/Users/wez/src/kbdmakerutils/circuitlib.py", line 296, in diode
    'Diodes_THT:D_DO-41_SOD81_P7.62mm_Horizontal')
  File "/Users/wez/src/kbdmakerutils/circuitlib.py", line 229, in part
    module = self.footprintpcb.parseFootprintModule(footprint)
  File "/Users/wez/src/kbdmakerutils/kicadpcb.py", line 128, in parseFootprintModule
    module = pykicad.module.Module.from_file('%s/%s.kicad_mod' % (lib, compname))
  File "pykicad/pykicad/module.py", line 362, in from_file
    return cls.parse(module)
  File "pykicad/pykicad/sexpr.py", line 293, in parse
    parse_result = cls._parser.parseString(string)
  File "./deps/usr/local/lib/python2.7/site-packages/pyparsing.py", line 1622, in parseString
    loc, tokens = self._parse( instring, 0 )
  File "./deps/usr/local/lib/python2.7/site-packages/pyparsing.py", line 1379, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "./deps/usr/local/lib/python2.7/site-packages/pyparsing.py", line 3395, in parseImpl
    loc, exprtokens = e._parse( instring, loc, doActions )
  File "./deps/usr/local/lib/python2.7/site-packages/pyparsing.py", line 1379, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "./deps/usr/local/lib/python2.7/site-packages/pyparsing.py", line 3672, in parseImpl
    loc,results = e._parse(instring,loc,doActions)
  File "./deps/usr/local/lib/python2.7/site-packages/pyparsing.py", line 1379, in _parseNoCache
    loc,tokens = self.parseImpl( instring, preloc, doActions )
  File "./deps/usr/local/lib/python2.7/site-packages/pyparsing.py", line 3983, in parseImpl
    loc, tokens = self.expr._parse( instring, loc, doActions, callPreParse=False )
  File "./deps/usr/local/lib/python2.7/site-packages/pyparsing.py", line 1405, in _parseNoCache
    tokens = fn( instring, tokensStart, retTokens )
  File "./deps/usr/local/lib/python2.7/site-packages/pyparsing.py", line 1049, in wrapper
    ret = func(*args[limit[0]:])
  File "pykicad/pykicad/sexpr.py", line 50, in action
    return {attr: ast(**parse_action(tokens[0]))}
TypeError: __init__() got an unexpected keyword argument 'xyz'
make: *** [all] Error 1

Here's the module:
(module D_DO-41_SOD81_P7.62mm_Horizontal (layer F.Cu) (tedit 5877C982)
  (descr "D, DO-41_SOD81 series, Axial, Horizontal, pin pitch=7.62mm, , length*diameter=5.2*2.7mm^2, , http://www.diodes.com/_files/packages/DO-41%20(Plastic).pdf")
  (tags "D DO-41_SOD81 series Axial Horizontal pin pitch 7.62mm  length 5.2mm diameter 2.7mm")
  (fp_text reference REF** (at 3.81 -2.41) (layer F.SilkS)
    (effects (font (size 1 1) (thickness 0.15)))
  )
  (fp_text value D_DO-41_SOD81_P7.62mm_Horizontal (at 3.81 2.41) (layer F.Fab)
    (effects (font (size 1 1) (thickness 0.15)))
  )
  (fp_line (start 1.21 -1.35) (end 1.21 1.35) (layer F.Fab) (width 0.1))
  (fp_line (start 1.21 1.35) (end 6.41 1.35) (layer F.Fab) (width 0.1))
  (fp_line (start 6.41 1.35) (end 6.41 -1.35) (layer F.Fab) (width 0.1))
  (fp_line (start 6.41 -1.35) (end 1.21 -1.35) (layer F.Fab) (width 0.1))
  (fp_line (start 0 0) (end 1.21 0) (layer F.Fab) (width 0.1))
  (fp_line (start 7.62 0) (end 6.41 0) (layer F.Fab) (width 0.1))
  (fp_line (start 1.99 -1.35) (end 1.99 1.35) (layer F.Fab) (width 0.1))
  (fp_line (start 1.15 -1.28) (end 1.15 -1.41) (layer F.SilkS) (width 0.12))
  (fp_line (start 1.15 -1.41) (end 6.47 -1.41) (layer F.SilkS) (width 0.12))
  (fp_line (start 6.47 -1.41) (end 6.47 -1.28) (layer F.SilkS) (width 0.12))
  (fp_line (start 1.15 1.28) (end 1.15 1.41) (layer F.SilkS) (width 0.12))
  (fp_line (start 1.15 1.41) (end 6.47 1.41) (layer F.SilkS) (width 0.12))
  (fp_line (start 6.47 1.41) (end 6.47 1.28) (layer F.SilkS) (width 0.12))
  (fp_line (start 1.99 -1.41) (end 1.99 1.41) (layer F.SilkS) (width 0.12))
  (fp_line (start -1.35 -1.7) (end -1.35 1.7) (layer F.CrtYd) (width 0.05))
  (fp_line (start -1.35 1.7) (end 9 1.7) (layer F.CrtYd) (width 0.05))
  (fp_line (start 9 1.7) (end 9 -1.7) (layer F.CrtYd) (width 0.05))
  (fp_line (start 9 -1.7) (end -1.35 -1.7) (layer F.CrtYd) (width 0.05))
  (pad 1 thru_hole rect (at 0 0) (size 2.2 2.2) (drill 1.1) (layers *.Cu *.Mask))
  (pad 2 thru_hole oval (at 7.62 0) (size 2.2 2.2) (drill 1.1) (layers *.Cu *.Mask))
  (model Diodes_THT.3dshapes/D_DO-41_SOD81_P7.62mm_Horizontal.wrl
    (at (xyz 0 0 0))
    (scale (xyz 0.393701 0.393701 0.393701))
    (rotate (xyz 0 0 0))
  )
)

This seems to make things get further along:
$ git diff
diff --git a/pykicad/sexpr.py b/pykicad/sexpr.py
index e66b497..2bb50e1 100644
--- a/pykicad/sexpr.py
+++ b/pykicad/sexpr.py
@@ -109,7 +109,7 @@ def generate_parser(tag, schema, attr=None, optional=False):
         children = []
         for key, value in schema.items():
             if not (key.isdigit() or key[0] == '_'):
-                attr = None
+                attr = schema.get('_attr', None)
                 if type(value) == type:
                     attr = key
                 children.append(generate_parser(key, value, attr=attr, optional=True))

that is really weird, are you using the latest commit? I'm not suppressing anything anymore...
The testfile parses fine for me...?!

I'm hitting an issue with python2. Let me see if I can reproduce with python2...

Here's a generated pcb file using python2 and your module:

I created a test environment using
guix environment --ad-hoc python@2 python2-pyparsing kicad --pure
to make sure there is nothing in my path messing with things

I'm based on rev 0d15e39 (looks like that is still the latest)

This is with the macOS python, not sure if that matters:
$ /usr/bin/python
Python 2.7.10 (default, Jul 30 2016, 19:40:32)
[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

adding in some debugging showed that the Model was seeing (at (xyz 0 0 0)) as xyz: [0,0,0]; in other words, the attribute name was missing, which is why I tried adding that explicit check for _attr in the comment above.

The schema parser is a pain to debug and understand I know. Probably was not worth the complexity, probably won't be writing parser generators again. Anyway I think it's nearly there, so starting from scratch at this point is probably a bad idea.
What happens when you run the unit tests? They are really good at detecting errors and are a life saver with this kind of code.

I added a test case:
diff --git a/tests/test_module.py b/tests/test_module.py
index 7f0d0e4..d58f496 100644
--- a/tests/test_module.py
+++ b/tests/test_module.py
@@ -1,3 +1,4 @@
+from __future__ import unicode_literals
 import unittest
 from pytest import *
 from pykicad.module import *
@@ -112,3 +113,13 @@ class NetTests(unittest.TestCase):
         assert n1.code == 1
         assert n2.code == 2
         assert n3.code == 3
+
+class ModelTests(unittest.TestCase):
+    def test_model(self):
+        model_string = (
+            '\n(model Diodes_THT.3dshapes/D_DO-41_SOD81_P7.62mm_Horizontal.wrl \n'
+            '    (at (xyz 0 0 0)) \n'
+            '    (scale (xyz 0.3937010000 0.3937010000 0.3937010000)) \n'
+            '    (rotate (xyz 0 0 0)))''')
+        model = Model.parse(model_string)
+        self.assertEqual(model_string, model.to_string())
diff --git a/tests/test_sexpr.py b/tests/test_sexpr.py
index 80f8e2e..ce2abde 100644
--- a/tests/test_sexpr.py
+++ b/tests/test_sexpr.py
@@ -1,3 +1,5 @@
+# vim: set fileencoding=utf-8
+from __future__ import unicode_literals
 import unittest
 from pytest import *
 from pyparsing import ParseException

This makes it easier to see the error:
$ git diff
diff --git a/pykicad/sexpr.py b/pykicad/sexpr.py
index 27004b4..ae37c4a 100644
--- a/pykicad/sexpr.py
+++ b/pykicad/sexpr.py
@@ -308,7 +308,10 @@ class AST(object):
                     result[key] = [result[key]]
                 result[key].append(res[key])

-        return cls(**result)
+        try:
+            return cls(**result)
+        except TypeError as e:
+            raise TypeError('%r: %s (%r)' % (cls, e, result))

     @classmethod
     def from_schema(cls, tag, schema):

ERROR: test_model (test_module.ModelTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/wez/src/kbdmakerutils/pykicad/tests/test_module.py", line 124, in test_model
    model = Model.parse(model_string)
  File "pykicad/sexpr.py", line 314, in parse
    raise TypeError('%r: %s (%r)' % (cls, e, result))
TypeError: <class 'pykicad.module.Model'>: __init__() got an unexpected keyword argument 'xyz' ({'path': u'Diodes_THT.3dshapes/D_DO-41_SOD81_P7.62mm_Horizontal.wrl', 'xyz': [0.0, 0.0, 0.0, [0.393701, 0.393701, 0.393701], [0.0, 0.0, 0.0]]})

Note that the change I suggested in https://github.com/dvc94ch/pykicad/issues/11#issuecomment-296396424 allows the file to be compiled, but when you dump out the resulting module, the model stanza loses the xyz level of nesting and the resultant pcb file fails to parse when loaded by kicad.

For now, I'm working around this with the the one-liner I suggested above, and to make sure that I get a valid pcb, I'm setting module.model = None before I save it.

If you submit a PR for the test I'll fix it on Wednesday...

I think this is fixed now, could you let me know if you are still having this issue?

Finally got around to looking at this again; with master in github this error is resolved, but not with the currently released package installed via pip


Zoom out / reset zoom button

Right now after zooming in the only way to reset zoom level is to reselect a time range

@sini-maaria let's plan how the zooming feature would be easier to notice and use. First of all there could be a magnifying glass icon somewhere that could give a tip about how to zoom. And if user has zoomed in, the icon could change to something else ("return to 1:1" icon) that would reset the zooming level.

Let's add "Zoom" link with info icon. When user clicks this link, it opens a popup with info text how to use zoom.

Icon file in Telegram.


Allowing to ignore mutation for specifc code with some pattern

Is your feature request related to a problem? Please describe.
Some of the time, we don't want to test our logs, and adding the ignore comment to each log is a logs.
or another case: we don't want to mutate the value of className in a react project as we don't test it
Describe the solution you'd like
I would like to have the option to add a plugin (like eslint) to disable mutation based on the AST
Describe alternatives you've considered
adding ignore comment to each log
Additional context
This exist-ish in the .NET version

Would #3229 work for you?

Yes, sorry for the duplicate

No problem. It's a great feature. We hopefully have some time to implement it in the near future


Fix broken Namespacey XML version translation directly in WOL

WitsmlObjectsLibrary needs to be fixed so XML version translations between 1311/1411 don't return super namespaced strings
Also, delete the garbage DotTranslator hacks we built to work around this issue.

I'm completely lost on this. I need help.


File Objects posted with multipart/form-data are not parsed into a File

What version of Hono are you using?
3.7.2 (latest)
What runtime/platform is your app running on?
Cloudflare Workers (miniflare)
What steps can reproduce the bug?
repro repo: https://github.com/sor4chi/hono-repro-file-parse-body
const app = new Hono()

app.post('/', async (c) => {
  const formData = await c.req.parseBody()
  const file = formData['file']

  if (file instanceof File) {
    return c.text('File!')
  }
  return c.text('Not File!')
})

const formData = new FormData()
const file = new File(['Hello Hono Storage 1\n'], 'sample1.txt')
formData.append('file', file)

const res = await app.request('http://localhost/', {
  method: 'POST',
  body: formData,
})

console.log(await res.text()) // expected: "File!", actual: "Not File!"

What is the expected behavior?
The posted files parse to File object.
What do you see instead?
The posted files parse to File string.
Additional information
https://twitter.com/monica18_pr/status/1706194484864958708

Hi @sor4chi
This is not a Hono problem, but probably a vitest-environment-miniflare problem. If you remove the following line in vitest.config.ts and use the native Node.js API, the test should pass.
https://github.com/sor4chi/hono-repro-file-parse-body/blob/f34bea873fe2b88d185fd972aaf978529d203fce/vitest.config.ts#L7
Also, the following apps that do not use Hono behave the same way.
const app = {
  fetch: async (req: Request) => {
    const formData = await req.formData()
    const file = formData.get('file') as unknown
    if (file instanceof File) {
      return new Response('File!')
    }
    return new Response('Not File!')
  }
}

Hi @yusukebe
Thanks for answering it!
Yeah... I seemed to have made a wrong assumption
remove miniflare environment and change like this
+ new File(['Hello Hono Storage 1\n'], 'sample1.txt')
- new Blob(["Hello Hono Storage 1"], { type: "text/plain" });

it resolved!


Quantize in scan order

Previous compression optimizations made the quantization process
dependent on the order that the coefficients are processed without
changing to using scan order. This patch corrects this.
Improves quality at the expense of encode speed.
   PSNR | PSNR Cb | PSNR Cr | PSNR HVS |    SSIM | MS SSIM | CIEDE 2000
-0.4854 | -0.2923 | -0.4541 |  -0.6873 | -0.3795 | -0.5577 |    -0.4489

Ugh, breaking in the dequantize loop. It's accessing row/cols > 32 in there and it's not doing that now here.

Will look into fixing tomorrow.

#1770 should fix the problem I'm encountering here.

Coverage decreased (-0.005%) to 71.26% when pulling dd0bd354b795218759cd15028804ab6b991f06e8 on KyleSiefring:quantize_in_scan_order_review into aee3410fb3d7a9ecfc49ef3953f5aa4618d88497 on xiph:master.

Okay, it's passing now.


Cross-compilation and docker hub

🚀 Feature Request
Cross-compiling docker images for embedded devices with limited hardware capabilities and uploading to registry in a docker manifest fashion.
Relevant Package [REQUIRED]
all
Description [REQUIRED]
I don't know what the current multiarch build workffow is. But it could be great to build images for several architectures from the same host machine. For example, when building for arm32, although is not officially supported, some devices, in my case RPI CM3, are not able to allocate a complete build system but will happily run several components. Already tested.
For image distribution, docker manifest seems to be the way to go to make the image name or tag architecture unaware and reduce the overhead on docker-compose file. e.g.: Docker Hub.
Describe the solution you'd like
As in PR#4113 add arm packages to the builder base and environment variables to specify the target architecture. In my case I was using golang:1.19-bullseye, as the builder image. The workaround to create armx images on amd64 is with https://github.com/multiarch/qemu-user-static, It lets execute containers from other architectures and create distributable arm images from amd64.
Then to organize the docker repository an approach could be through docker manifest, grouping several layers, as stated here: https://www.docker.com/blog/multi-arch-build-and-images-the-simple-way/
In case of interest, I can manage to develop a PoC for jakarta based on the work done in PR#4113
Describe alternatives you've considered
An alternative could be using docker buildx, but I haven't tested it.

cc @ernestojeda

We have discussed doing multi-arch images in the past and done lots of research in this area. Here is a related issue: https://github.com/edgexfoundry/edgex-go/issues/3849 and pipeline related: https://github.com/edgexfoundry/edgex-global-pipelines/issues/370. From what I remember from past discussions, the community did not have interest in multi-arch images. We can bring this up again in our next release planning session to see if there would be any interest from the community to have this feature.

Hi,
I am sorry I missed that issue since that is precisely what I was asking. I reviewed the related issues and also listened to the meeting held on April 21 at minute 15. It is clearly a low priority issue with little interest. It requires quite effort to achieve the desired objective and impossible to track tag downloads from docker hub.
Thanks for the quick response.


Remove redundant public modifier on inner interfaces

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean verify to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[x] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @lukecwik

ReRun Java PreCommit

Run Java PreCommit

Thanks for the contribution.

LGTM


Update Prerequisite Documentation To Include Information About Storage Account

Hi there,
I had a little back and forth with Venkatesh about some problems I was having getting my first Durable Function published from VS.
I'm relatively new to Azure and exploring how Durable Functions can be used by my company to meet our needs.
One point of confusion for me was that in order to publish a Durable Function, you need certain permissions on your subscription/resource group that I did not initially have. This caused me a few errors and to need to do some research to figure out how to resolve those errors.
I also didn't know (when going through the tutorial for the first time) that I needed to have a Storage Account and some other things that Venkatesh calls out. It would be nice to call these items out in the Prerequisite section of this document so the tutorial runs more smoothly.
Best,
Ryan

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

ID: 4885c7aa-95fd-b501-37c8-deaeaf5ec54b
Version Independent ID: 92dcd574-ffef-25f6-0a52-30dbce334b79
Content: Create your first durable function in Azure using C#
Content Source: articles/azure-functions/durable/durable-functions-create-first-csharp.md
Service: azure-functions
Sub-service: durable
GitHub Login: @anthonychu
Microsoft Alias: azfuncdf

@rruenroeng
Thanks for your feedback! We will investigate and update as appropriate.


Add a scope parameter InheritedWidget+subclasses

Description
This adds a scope parameter to InheritedWidget + its subclasses, and to the associated methods on BuildContext.
It allows having two InheritedWidget of the same runtimeType in the widget tree and be able to obtain both of them independently from each other.
Related Issues
Tests
I added the following tests:

InheritedWidget can be scoped
InheritedModel can be scoped
InheritedNotifier can be scoped

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[x] No, this is not a breaking change.

Actually, forget about it.
The main use-case was to allow provider to expose multiple values of the same type (as described here), without having to make subclasses.
But I've just remembered that we can do class Subclass = Baseclass with Mixin; to avoid the boilerplate.
So, thinking about it, this will likely cause more issues than it will solve.


Fixed typo

Erroneous [ in article.

@skitau : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks!


WMR: Use accel and gyro temperature bias to correct for drift

Tested on a Acer AH101, would like to have tested on a different device before merging into master.

master left, dev-wmr-bias right, two measurement runs each logging the rotation quaternion returned by the openhmd_simple_example:

without gravity correction (FF_USE_GRAVITY flag cleared in the driver) the result seems better overall, but unfortunately horizontal rotation drift increases slightly, as can be seen
with gravity correction enabled again.

Seems not really improve..... should look into new options, can't figure out how to make any variables from the config compensate the drift so far

how can I test this
If you can give me a pre-built version for windows I have an odyssey+ that I would be happy to test on


feat: multiple metrics in evaluate

Goals:

allow users to pass multiple metrics to the evaluation function
calculate all metric scores at once
[ ] check and update documentation, if required. See guide

is this a breaking change with respect to the return of evaluate?

Yes, I could return only a single number if the user passes only one metric but having different return types for different inputs is a bit strange

depends on https://github.com/jina-ai/docarray/pull/617

@guenthermi remember to tag @NicholasDunham for any future PRs that include docs (or docstrings)

two comments:

i don't like the fact that metrics='precision_at_k' should be supported, i suppose metrics should be always accept a list, not a str.
can we provide a all option to evaluate all metrics we have?

it's like what we're doing in callbacks, user should always pass a list of callbacks even user only need one. I'm expecting we:
.evaluate(metrics=['precision_at_k'])

I don't care much if we support passing only a string or not. Having an all keyword is not a good idea, because the metric functions have different use cases, e.g., the ndcg metric should not be applied on a top k ranking while for other metrics this makes sense.

two comments:

i don't like the fact that metrics='precision_at_k' should be supported, i suppose metrics should be always accept a list, not a str.
can we provide a all option to evaluate all metrics we have?

it's like what we're doing in callbacks, user should always pass a list of callbacks even user only need one. I'm expecting we:
.evaluate(metrics=['precision_at_k'])

I don't care much if we support passing only a string or not. @JoanFM @samsja @JohannesMessner Do you have an opinion about it?
Having an all keyword is not a good idea, because the metric functions have different use cases, e.g., the ndcg metric should not be applied on a top k ranking while for other metrics this makes sense.

I believe, that to keep backwards compatibility we need to accept at least metric=STR but I agree, it is cleaner if user needs to pass list. But if it is complex, this seems like a minor issue to me

two comments:

i don't like the fact that metrics='precision_at_k' should be supported, i suppose metrics should be always accept a list, not a str.
can we provide a all option to evaluate all metrics we have?

it's like what we're doing in callbacks, user should always pass a list of callbacks even user only need one. I'm expecting we:
.evaluate(metrics=['precision_at_k'])

I don't care much if we support passing only a string or not. @JoanFM @samsja @JohannesMessner Do you have an opinion about it?
Having an all keyword is not a good idea, because the metric functions have different use cases, e.g., the ndcg metric should not be applied on a top k ranking while for other metrics this makes sense.

I believe, that to keep backwards compatibility we need to accept at least metric=STR but I agree, it is cleaner if user needs to pass list. But if it is complex, this seems like a minor issue to me

Agree, all is not good

make sense, ignore my all suggestion.

two comments:

i don't like the fact that metrics='precision_at_k' should be supported, i suppose metrics should be always accept a list, not a str.
can we provide a all option to evaluate all metrics we have?

it's like what we're doing in callbacks, user should always pass a list of callbacks even user only need one. I'm expecting we:
.evaluate(metrics=['precision_at_k'])

I don't care much if we support passing only a string or not. @JoanFM @samsja @JohannesMessner Do you have an opinion about it?
Having an all keyword is not a good idea, because the metric functions have different use cases, e.g., the ndcg metric should not be applied on a top k ranking while for other metrics this makes sense.

I believe, that to keep backwards compatibility we need to accept at least metric=STR but I agree, it is cleaner if user needs to pass list. But if it is complex, this seems like a minor issue to me

We could transform strings into a list of one string in the deprecation decorator and adjust the documentation. So I would not say that it is complex

two comments:

i don't like the fact that metrics='precision_at_k' should be supported, i suppose metrics should be always accept a list, not a str.
can we provide a all option to evaluate all metrics we have?

it's like what we're doing in callbacks, user should always pass a list of callbacks even user only need one. I'm expecting we:
.evaluate(metrics=['precision_at_k'])

I don't care much if we support passing only a string or not. @JoanFM @samsja @JohannesMessner Do you have an opinion about it?
Having an all keyword is not a good idea, because the metric functions have different use cases, e.g., the ndcg metric should not be applied on a top k ranking while for other metrics this makes sense.

I believe, that to keep backwards compatibility we need to accept at least metric=STR but I agree, it is cleaner if user needs to pass list. But if it is complex, this seems like a minor issue to me

We could transform strings into a list of one string in the deprecation decorator and adjust the documentation. So I would not say that it is complex

then go for it

I think that we can make the documentation a bit better for evaluation. @NicholasDunham what do u think ?

Maybe we can rewrite the documentation in another PR. There are also some old features of the evaluate functions which are not yet documented.

Maybe we can rewrite the documentation in another PR. There are also some old features of the evaluate functions which are not yet documented and today, I have not more time to do this.

Okay then lets open an issue for improving this documentation and please align with @NicholasDunham on how do refactor it

Maybe we can rewrite the documentation in another PR. There are also some old features of the evaluate functions which are not yet documented and today, I have not more time to do this.

Okay then lets open an issue for improving this documentation and please align with @NicholasDunham on how do refactor it

I created #651 for the documentation changes.


Kong sort the query string of URI by alphabet.

Summary
When Kong get request, Kong is going to sort query string of URI by alphabet before redirecting request to upstream.
Steps To Reproduce

Adding an API to Kong with upstream_url and request_path, for expamle 'upstrame_url=http://abc.com' and 'request_path=/v2/customers'
To send request to Kong, the url is http://kong_host/v2/customers?bb=1&aa=2
Finally API is going to get request with URI: /v2/customers?aa=2&bb=1

Additional Details & Logs

Kong version
Kong version: 0.9.7

Kong configuration
Added Plugins: Galileo, File Log

Operating System
CentOS 6.8

Hi,
Yes indeed. Is that an issue for you? If so, why?
Could you please try 0.10, where I believe such a behavior should not occur anymore. Thanks!

Hi ,
Thanks for your reply. It's a issue for our end since some of our API use URI to be a parameter of HASH for authentication, Kong rearranges query string which will cause the failed authentication.
I found the latest version is 0.10RC4, I am going to check this issue on 0.10RC4.  May I know when 0.10 will release? Thanks.

:+1:
I have same problem. Now I created kong plugin which copy original url from another header.
If it solves in KONG 0.10, it's great news.

Hi,
I have verified this issue on KONG 0.10RC4. Per my verification, this issue has been solved. Thanks a lot.


vbox: fix race with getting a tcp port

This fixes the Bad Port: 0 error.

This is pretty much what I had envisioned as well.
@SvenDowideit can you comment on if this seems tenable?

oh wow - did you really just code a permissions based infinite loop?
yes, users can be forbidden from listening to a socket - this is the kind of UX reason i printed dots and o's - to give the user the idea that boot2docker had not hung.
mind you, the real problem used to be that machine didn't serialise this port number once it had used it for the vm, and that the port number assigned to any one of your vm's isn't actually being listened to unless the vm is up and running - so you can ask for an unused port, but tomorrow, it might be used.
I didn't find docs for :0 in the golang net docs, so I don't know what ports it tries - but I presume you know what that is :)

@SvenDowideit so i was assuming vbox would give out an IP.  Are you saying there is a chance that vbox will not give any IP out and that it would loop forever?  If so, then we probably should leave this as the way it is and just error.  I would rather error then loop infinitely.

I have seen the vm creation fail in such a way that the vm has no network - its rare, but then yes, you'll get no IP
but - thats not what this code reads like (or is this running inside the vm?)
the way I read the code here, you're setting up to listen to a random port on the client box, and even that could loop forever (the eg I know about would be an selinux secure box where the user is denied listening on sockets)

Thanks @SvenDowideit.  I added a maximum retry for the allocation.  PTAL /cc @nathanleclaire

This LGTM.
@SvenDowideit any more thoughts?  Does a maximum retry count seem like an acceptable compromise to you?  And is there a more elegant solution we should be angling towards in the future?

I don't think you have a choice - you need to have a retry count, because at some point, you can't control what fails.
LGTM :)

Thanks Sven - think we're in a least of all evils situation here - LGTM

Thanks @SvenDowideit !


Hyperlink from https://k8s.io/docs/contribute/ to https://k8s.dev/

Signpost readers to the main contributor site, and also explain how to contribute specifically to the website.

/lgtm
/approve


API request: Unexport low-level functions

FEATURE REQUEST
I notice that the node/api/client package exports several low-level functions that clients shouldn't need:
https://github.com/NebulousLabs/Sia/blob/62752aad77c813518d1efa6a5943f9143692814d/node/api/client/client.go#L73
https://github.com/NebulousLabs/Sia/blob/62752aad77c813518d1efa6a5943f9143692814d/node/api/client/client.go#L103
https://github.com/NebulousLabs/Sia/blob/62752aad77c813518d1efa6a5943f9143692814d/node/api/client/client.go#L125
https://github.com/NebulousLabs/Sia/blob/62752aad77c813518d1efa6a5943f9143692814d/node/api/client/client.go#L157
I'd like to unexport these. I'm willing to do the work if the dev team agrees with this change.
Flexibility
It's not too hard to imagine that Sia will want to make breaking REST API changes after version 1.
Ideally, we'd like clients to be able to write code against /node/api/client and never have to rewrite it. If we prevent clients from making these low-level calls, it's a lot more likely that we can abstract away breaking REST API changes in the library level so that the Go library clients don't need to rewrite any code.
Obviously some API changes might not be fixable within the library layer, but we're much more likely to preserve backwards compatibility in the library if we don't give callers this low-level access.
Ease of use
These functions clutter Client's interface. A good API should have just one way of accomplishing a task. These extraneous functions make it so that Client provides three equivalent ways of calling each REST API.
Obscures bugs
Clients really should never need to drop down to this low of a level to use the Sia API. If they find themselves wanting to, that's a bug in the API and we should fix it by offering the functionality they need in the API itself, not by encouraging them to poke through the abstraction layer.

Hm I guess you are @mtlynch. I started this PR. @lukechampine and @DavidVorick what do you think?

Ideally, we'd like clients to be able to write code against /node/api/client and never have to rewrite it. If we prevent clients from making these low-level calls, it's a lot more likely that we can abstract away breaking REST API changes in the library level so that the Go library clients don't need to rewrite any code.

I agree with this, though I'm not sure how to provide that kind of flexibility in golang arguments. We could make the inputs to every function a struct, and because it's already to leave struct fields blank so long as you are using named fields, this would achiave 90% of the goal. But users could still write code (that doesn't use named fields) that breaks if we extend the API.
I am slow to agree to un-export the low level calls, because the client package is not complete in the sense that it does not wrap every api call. If you need an endpoint that we haven't wrapped yet, you either have to make feature request and wait, or implement these functions yourself. I would think that any PR which un-exports these functions would also need to make sure that this wrapper has 100% coverage of the API. Unless we want to move them to different packages, such as node/client/raw and node/client/direct or something. But that doesn't seem like a great solution either.
I also thikn that this package should be a relatively thin package. I would expect people using this package to be reading the API docs directly, otherwise we are going to need to duplicate the documentation around every endpoint. I want to make sure that the client package has the full power of the API available to it.

@DavidVorick I think after merging the upload/download siatest PR the client library is pretty complete. I created a PR that unexports the methods and it seems to be a pretty straightforward change since we don't use the low-level calls a lot in the codebase.

I agree that a thicker package imposes more costs. It does mean writing a new set of documentation, and it does mean doing more work whenever an API endpoint is added.
I think the question then becomes how much do we value a good developer experience?
The quality of the library can easily make the difference between a developer building on top of Sia or rejecting it as too complicated.
I'm trying to imagine myself as a developer choosing among cloud storage providers. I read the Google GCS library for Go and it provides clean, intuitive abstractions. I can write an app on top of GCS using nothing more than the information on that single page.
If I then read the Sia client library, I don't know what to do. If I want to do something straightforward like send Siacoins, none of the function names seem to indicate they support that. Even if I figure out it's WalletSiacoinsPost the documentation just says:

WalletSiacoinsPost uses the /wallet/siacoins api endpoint to send money to a single address

As a new developer, this woudln't make sense to me. Even if I dug around and find the documentation for the /wallet/siacoins REST API, now I have the challenge of figuring out how to how to generate a types.Currency and a types.UnlockHash, which are defined in a completely different package.
The decentralized nature of Sia makes a thousand things about it inherently more difficult than S3 or GCS. The library isn't one of those things. There's no reason why the Sia library can't be as easy to use as the GCS library.
Further reading: https://blog.spaceduck.io/new-sia-library/#a-very-thin-abstraction-layer

addressed by #2782


Make a dedicated help page for configuring Enter to send

Following up on #30441, we should document the "Enter sends when composing a message" setting by updating  https://zulip.com/help/mastering-the-compose-box#toggle-between-ctrl-enter-and-enter-to-send-a-message to an /include :

Combine the two sets of instructions we currently have into one instruction block for toggling the setting .
Add a tab for doing this via personal settings; the current instructions will be a "via compose box" tab.
Move the section out of its current location (I think we don't need it there), and into a dedicated page in the Preferences section, between "Dark theme" and "Font size". We might need to play with the page title. "Configure keyboard shortcut for sending messages" is probably too long... "Configure Enter to send messages"?

@laurynmm It would be great if you could add this one to your list.

@zulipbot claim


Update NewsApp.js

Pre-Submission Checklist

[ ] Your pull request targets the staging branch of freeCodeCamp.
[ ] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[ ] You have only one commit (if not, squash them into one commit).
[ ] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[ ] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[ ] Tested changes locally.
[ ] Addressed currently open issue (replace XXXXX with an issue no in next line)

Closes #XXXXX
Description

Please find an issue in the issues tab with a bug that needs fixing. Closing because this PR doesn't add any significant contribution to the project. Happy coding!


Missing fields in WebhoseThread and WebhosePost

WebhoseThread miss some fields: uuid, performance_score...
Also WebhosePost miss fields: uuid...
Please add missing fields.
Here is example JSON with this field's:
    {
      "thread": {
        "uuid": "5c9df443238537cc9d60fa58884d1c604f50bdbc",
        "url": "http://omgili.com/r/jHIAmI4hxg.fKmqfQ3WsnSW8DgGqloTc3Wt6gO_FFgzA9.7a9QK.TK5kJQl2m7lABvYx674WSeVDm7UXtGqbNQ4GE1xdbw3S6veetI9xpLMgWHBSxmr7e0oa9THOy_eWofoj2QrLDexOtVznF4OiUQ--",
        "site_full": "www.heraldscotland.com",
        "site": "heraldscotland.com",
        "site_section": "http://www.heraldscotland.com/opinion",
        "section_title": "Comment | Herald Scotland",
        "title": "Corbyn must go or we risk almost permanent Conservative rule",
        "title_full": "Corbyn must go or we risk almost permanent Conservative rule (From Herald Scotland)",
        "published": "2016-07-05T07:09:00.000+03:00",
        "replies_count": 3,
        "participants_count": 4,
        "site_type": "news",
        "country": "GB",
        "spam_score": 0.0,
        "main_image": "http://www.heraldscotland.com/resources/images/5245154/",
        "performance_score": 0,
        "domain_rank": 31684
      },
      "uuid": "a597686a561d4123d5d255a9a665d9545d2d0140",
      "url": "http://omgili.com/r/jHIAmI4hxg.fKmqfQ3WsnSW8DgGqloTc3Wt6gO_FFgzA9.7a9QK.TK5kJQl2m7lABvYx674WSeVDm7UXtGqbNQ4GE1xdbw3S6veetI9xpLMgWHBSxmr7e0oa9THOy_eWofoj2QrLDeyEqEaAQfqsLdwV9EkyW_BM",
      "ord_in_thread": 2,
      "author": "alasdair galloway",
      "published": "2016-07-05T10:40:33.381+03:00",
      "title": "",
      "text": "Mr Fleming's letter misses some important points. First he writes \"The common sight we see of Mr Corbyn is his daily walk from his home to a waiting car, resolutely refusing to talk to the hated media\". His use of \"hated\" is interesting, since that might well have been adapted to \"hating\". Take for instance Laura Kuensberg, the BBC Political Editor, who reported the resignation from the Shadow Cabinet as \"different\" from all the rest mainly on the basis of his use of \"comrade\" in his resignation letter. Yet Slaughter was no Corbyn supporter - he votes for Trident, against the inquiry into the Iraq war and for Yvetter Cooper in the last leadership election. Corbyn may have issues around his leadership, but it is hard to argue that the news agenda has been anything other than critical of him, often, as above, with little or no evidence. Secondly Mr Fleming writes \"Like it or not the daily soundbite is part and parcel of how politics works\" - and indeed this is so. But what Mr Fleming misses is that Corbyn's daily soundbite is not a matter for him, but for the waiting journalists to pose questions. How often does he has to answer the question \"Are you going to resign Mr Corbyn?\". What would follow his reply of \"No\". \"Why not?\"? The news agenda is now largely in the hands of the Blairite clique which have orchestrated all of this. We know that the planning began pretty much when Corbyn was elected - and lets not forget in the first round, with a vote of nearly 60% of members. We know too from Alex Salmond, Craig Murray and others that the campaign against him became at least in part to prevent the possibility that he would attempt to apologise for the Labour Party for Blair's role in the Iraq war I agree with Mr Fleming that \"Corbyn does not deserve to be challenged for his job because of his opposition to Trident or his outspoken comments about Israel.\" but when he argues - probably correctly that \"he is an ineffectual and underperforming leader.\" we should do well to consider why. Some of the reason may be rooted in Jeremy Corbyn himself, but, even on his election, it was argued that his enemies at PMQs were not the Tories in front of him, but his own MPs on the benches behind him. Sadly this has turned out to be the case.",
      "highlightText": "",
      "highlightTitle": "",
      "language": "english",
      "external_links": [],
      "persons": [],
      "locations": [],
      "organizations": [],
      "entities": {
        "persons": [],
        "organizations": [],
        "locations": []
      },
      "crawled": "2016-07-05T10:40:33.381+03:00"
    }

Hi Team
Even below fields are not properly mapped in library.Please advise.
"entities": {
"persons": [],
"organizations": [],
"locations": []
},
I was trying to get these fields from
post.persons
post.locations
post.organizations
but was not getting any results and i don't see any entities object either in post object.
Please help me.
Thanks
-Manu


Normalize Keywords before Indexing and Searching

Looks good to me, thanks!

OK, I've added support for the unicode characters. But the issue is that the ToLower would not work for foreign languages, unless we use a ToLowerSpecial, which requires specifying a language. But still I think it's better than nothing. A quick LGTM for the change?

Looks good to me, just one suggestion since there is a unicode.ToLower() that works on runes.


Add basic docs

Codecov Report

Merging #45 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #45   +/-   ##
=======================================
  Coverage   90.49%   90.49%
=======================================
  Files          10       10
  Lines         463      463
  Branches      108      108
=======================================
  Hits          419      419
  Misses         22       22
  Partials       22       22

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 93c5607...8c881b0. Read the comment docs.


Adding Event Builder support through all iDaas-Connect POMs

Within every project directory within each POM.xml file lets add iDaaS Event Builder.

io.connectedhealth-idaas
idaas-eventbuilder
1.9


Statically ensure that UserTopicVisibilityPolicy.unknown is not possible in our data models

This was brought up here: https://github.com/zulip/zulip-flutter/pull/1041#discussion_r1853230302.
UserTopicVisibilityPolicy.unknown allows us to deserialize unknown enum values gracefully at the edge.
https://github.com/zulip/zulip-flutter/blob/9e42f2694afffd3a40c7ca4786e8641622513350/lib/model/channel.dart#L216-L222
https://github.com/zulip/zulip-flutter/blob/9e42f2694afffd3a40c7ca4786e8641622513350/lib/model/channel.dart#L348-L350
However, while we manually declare that it wouldn't be possible that we encounter UserTopicVisibilityPolicy.unknown when accessing our internal data store (i.e.: ChannelStore), our type doesn't agree with that, and require the UserTopicVisibilityPolicy.unknown case to be handled for an exhaustive switch. We use assert in such cases, but it is not supposed to be reachable (unless we have a bug).
We should make sure that such an assertion is not needed. This might require removing unknown from UserTopicVisibilityPolicy.
We specifically exclude UserTopicVisibilityPolicy.unknown at the edge. This may or may not apply to other unknown enum values. It would be good to do a sweep of those and decide if we need to follow-up on them as well.

Hey there,
actually I am new to open source contribution
I want to ask how can i help towards solving this issue ?
Can you assign this issue to me?

i am solving this issues

Please take a look at the Zulip project's guide to getting involved with the code:
https://zulip.readthedocs.io/en/latest/contributing/contributing.html#your-first-codebase-contribution
https://zulip.readthedocs.io/en/latest/contributing/contributing.html#picking-an-issue-to-work-on


Deploy in Cpanel

Hi Dear,
Appreciate your advice, how to deploy it in Cpanel? thanks.

The project runs on any node server and does not have any API dep. Standard setup should work.
Have not hosted on cpanel before for NextJS though.


OneClick: Add action for custom modification of field values

Eg-

Append/prepend a string
Date format (@today+1) or something like that
Mathematical operations on numerical fields

Any update on #1? I'd like to @fieldvalue=Title + "string" to customize/append titles in task templates.

would also be heavily interested in #1 (@fieldValue = Title + "Text")
Any update on this?


Complete wiring pepr build for new workflow

[x] Load the mounted secret
[x] Handle decompression of the secret data
[x] Run with newly decompressed data

Fixed by #32


gluetun issues with 2 docker

I use gluetun to connect docker containers to VPN.
If i add 2 docker instances from you. firefox and jdownloader2 only one is available on the exposed ports.
This is my docker compose which doesnt work only jdownloader2 will be exposed on the port.
gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    restart: unless-stopped
    # line above must be uncommented to allow external containers to connect. See https://github.com/qdm12/gluetun/wiki/Connect-a-container-to-gluetun#external-container-to-gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    ports:
      - 8888:8888/tcp # HTTP proxy
      - 8388:8388/tcp # Shadowsocks
      - 8388:8388/udp # Shadowsocks
      - 7800:7800
      - 5800:5800

    volumes:
      - ${APPDATA}gluetun:/gluetun:rw
    environment:
      # See https://github.com/qdm12/gluetun/wiki
      - VPN_SERVICE_PROVIDER=mullvad
      - VPN_TYPE=openvpn
      # OpenVPN:
      - OPENVPN_USER=xxxx
      - OPENVPN_PASSWORD=
      - OPENVPN_CIPHERS=aes-256-gcm
      - SERVER_HOSTNAMES=ch-zrh-001,ch-zrh-002,ch-zrh-003,ch-zrh-004,ch-zrh-201,ch-zrh-202
      - FIREWALL_VPN_INPUT_PORTS=55886
      # Wireguard:
      # - WIREGUARD_PRIVATE_KEY=wOEI9rqqbDwnN8/Bpp22sVz48T71vJ4fYmFWujulwUU=
      # - WIREGUARD_ADDRESSES=<IP_ADDRESS>/32
      # Timezone for accurate log times
      - TZ=${TZ}

firefox:
    image: jlesage/firefox
    container_name: ff
    shm_size: 4g
    restart: unless-stopped
    network_mode: "service:gluetun"
    volumes:
      - ${APPDATA}ff:/config:rw
      - ${FF}
    environment:
      - USER_ID=${PUID}
      - GROUP_ID=${PGID}
      - TZ=${TZ}
      - SECURE_CONNECTION=1
      - VNC_PASSWORD=xxx

  jdownloader-2:
    image: jlesage/jdownloader-2
    container_name: jd2
    network_mode: "service:gluetun"
    restart: unless-stopped
    volumes:
      - ${APPDATA}jd2:/config:rw
      - ${JD}
    environment:
      - USER_ID=${PUID}
      - GROUP_ID=${PGID}
      - TZ=${TZ}
      - SECURE_CONNECTION=1
      - WEB_LISTENING_PORT=7800

How to fix this?
Thanks in advance!

Does the Firefox container work if you don't have the JD one ?

Yes, the firefox container works flawlessly if i remove the network_mode from JD.
I can access then JD with the 7800:7800 port mapping...
Firefox and JD works well together but only if i dont use gluetun as their network mode.
If i add 1 of the container they work. If I add both, only one of them works.

When FF is used with gluetun, do you access it via port 5800 ?

Yes, i played around every possibility.
Tried also adding - WEB_LISTENING_PORT=6800 to the FF docker container and mapping in gluetun with 6800:6800 and try to access it but if jd is also in gluetun with port 7800 or 5800 the FF container is not reachable.

Can you share the log of the non-functioning container: docker logs <container name>

Oh, sorry didnt't know about the logs...
It was a conflict with the VNC Port which stopped the nginx server. I added now - VNC_LISTENING_PORT=6000 to the ff container to avoid the conflict with JD 5900 automatically set VNC port. Now it works!
This was the output from the log:
[init        ] container is starting...
[cont-env    ] loading container environment variables...
[cont-env    ] APP_NAME: loading...
[cont-env    ] APP_VERSION: loading...
[cont-env    ] DISPLAY: executing...
[cont-env    ] DISPLAY: terminated successfully.
[cont-env    ] DISPLAY: loading...
[cont-env    ] DOCKER_IMAGE_PLATFORM: loading...
[cont-env    ] DOCKER_IMAGE_VERSION: loading...
[cont-env    ] GTK_THEME: executing...
[cont-env    ] GTK_THEME: terminated successfully.
[cont-env    ] GTK_THEME: loading...
[cont-env    ] HOME: loading...
[cont-env    ] QT_STYLE_OVERRIDE: executing...
[cont-env    ] QT_STYLE_OVERRIDE: terminated successfully.
[cont-env    ] QT_STYLE_OVERRIDE: loading...
[cont-env    ] TAKE_CONFIG_OWNERSHIP: loading...
[cont-env    ] XDG_CACHE_HOME: loading...
[cont-env    ] XDG_CONFIG_HOME: loading...
[cont-env    ] XDG_DATA_HOME: loading...
[cont-env    ] XDG_RUNTIME_DIR: loading...
[cont-env    ] XDG_STATE_HOME: loading...
[cont-env    ] container environment variables initialized.
[cont-secrets] loading container secrets...
[cont-secrets] container secrets loaded.
[cont-init   ] executing container initialization scripts...
[cont-init   ] 10-certs.sh: executing...
[cont-init   ] 10-certs.sh: terminated successfully.
[cont-init   ] 10-check-app-niceness.sh: executing...
[cont-init   ] 10-check-app-niceness.sh: terminated successfully.
[cont-init   ] 10-cjk-font.sh: executing...
[cont-init   ] 10-cjk-font.sh: terminated successfully.
[cont-init   ] 10-clean-logmonitor-states.sh: executing...
[cont-init   ] 10-clean-logmonitor-states.sh: terminated successfully.
[cont-init   ] 10-clean-tmp-dir.sh: executing...
[cont-init   ] 10-clean-tmp-dir.sh: terminated successfully.
[cont-init   ] 10-fontconfig-cache-dir.sh: executing...
[cont-init   ] 10-fontconfig-cache-dir.sh: terminated successfully.
[cont-init   ] 10-init-users.sh: executing...
[cont-init   ] 10-init-users.sh: terminated successfully.
[cont-init   ] 10-nginx.sh: executing...
[cont-init   ] 10-nginx.sh: terminated successfully.
[cont-init   ] 10-openbox.sh: executing...
[cont-init   ] 10-openbox.sh: terminated successfully.
[cont-init   ] 10-set-tmp-dir-perms.sh: executing...
[cont-init   ] 10-set-tmp-dir-perms.sh: terminated successfully.
[cont-init   ] 10-vnc-password.sh: executing...
[cont-init   ] 10-vnc-password.sh: creating VNC password file from environment variable...
[cont-init   ] 10-vnc-password.sh: terminated successfully.
[cont-init   ] 10-web-data.sh: executing...
[cont-init   ] 10-web-data.sh: terminated successfully.
[cont-init   ] 10-x11-unix.sh: executing...
[cont-init   ] 10-x11-unix.sh: terminated successfully.
[cont-init   ] 10-xdg-runtime-dir.sh: executing...
[cont-init   ] 10-xdg-runtime-dir.sh: terminated successfully.
[cont-init   ] 15-install-pkgs.sh: executing...
[cont-init   ] 15-install-pkgs.sh: terminated successfully.
[cont-init   ] 55-check-snd.sh: executing...
[cont-init   ] 55-check-snd.sh: sound not supported: device /dev/snd not exposed to the container.
[cont-init   ] 55-check-snd.sh: terminated successfully.
[cont-init   ] 55-firefox.sh: executing...
[cont-init   ] 55-firefox.sh: fixed display size in /config/profile/sessionstore-backups/recovery.jsonlz4.
[cont-init   ] 55-firefox.sh: terminated successfully.
[cont-init   ] 56-firefox-set-prefs-from-env.sh: executing...
[cont-init   ] 56-firefox-set-prefs-from-env.sh: terminated successfully.
[cont-init   ] 85-take-config-ownership.sh: executing...
[cont-init   ] 85-take-config-ownership.sh: terminated successfully.
[cont-init   ] 89-info.sh: executing...
    ╭――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╮
    │                                                                      │
    │ Application:           Firefox                                       │
    │ Application Version:   108.0.1-r1                                    │
    │ Docker Image Version:  23.01.1                                       │
    │ Docker Image Platform: linux/amd64                                   │
    │                                                                      │
    ╰――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――╯
[cont-init   ] 89-info.sh: terminated successfully.
[cont-init   ] all container initialization scripts executed.
[init        ] giving control to process supervisor.
[supervisor  ] loading services...
[supervisor  ] loading service 'default'...
[supervisor  ] loading service 'app'...
[supervisor  ] loading service 'gui'...
[supervisor  ] loading service 'certsmonitor'...
[supervisor  ] loading service 'nginx'...
[supervisor  ] loading service 'xvnc'...
[supervisor  ] loading service 'openbox'...
[supervisor  ] loading service 'logmonitor'...
[supervisor  ] service 'logmonitor' is disabled.
[supervisor  ] loading service 'logrotate'...
[supervisor  ] all services loaded.
[supervisor  ] starting services...
[supervisor  ] starting service 'xvnc'...
[xvnc        ] Xvnc TigerVNC 1.12.0 - built Jan  3 2023 01:38:16
[xvnc        ] Copyright (C) 1999-2021 TigerVNC Team and many others (see README.rst)
[xvnc        ] See https://www.tigervnc.org for information on TigerVNC.
[xvnc        ] Underlying X server release 12013000, The X.Org Foundation
[xvnc        ] Fri Feb  3 15:08:46 2023
[xvnc        ]  vncext:      VNC extension running!
[xvnc        ]  vncext:      Listening for VNC connections on /tmp/vnc.sock (mode 0660)
[xvnc        ]  vncext:      created VNC server for screen 0
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[supervisor  ] starting service 'openbox'...
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[supervisor  ] starting service 'app'...
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[app         ] Mozilla Firefox 108.0.1
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[supervisor  ] all services started.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] still could not bind()
[supervisor  ] service 'nginx' exited (with status 1).
[supervisor  ] restarting service 'nginx'.
[supervisor  ] starting service 'nginx'...
[nginx       ] Listening for HTTPs connections on port 5800.
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)
[nginx       ] nginx: [emerg] bind() to <IP_ADDRESS>:5900 failed (98: Address in use)

Great!  BTW, if you don't use the VNC port, you can just set VNC_LISTENING_PORT to -1 (for both containers).


Improve case delete connection when reset wallet

Describe the task
Improve case delete connection when reset wallet

Improve issue https://github.com/Koniverse/SubWallet-Extension/issues/1762

Actual: In web app, do not delete connection

Version test: https://file.cdmteck.com/s/4oimk9zDJ8R5Aai/download?path=%2F&files=./upgrade-ui-pr-1810-build-1.1.8-2023-08-15T11-41-34UTC.zip
Validation passed


Package search time out

The repository for dcos is said to be Universe. However, my searches are finally ended with connection time outs.
PS D:\dcos-vagrant> dcos package search redis
Request to URL [http://m1.dcos/package/search] timed out.
PS D:\dcos-vagrant> dcos package repo list
Universe: https://universe.mesosphere.com/repo
PS D:\dcos-vagrant> dcos package search "big data"
Request to URL [http://m1.dcos/package/search] timed out.
PS D:\dcos-vagrant> dcos package list
There are currently no installed packages. Please use `dcos package install` to install a package.

This could have been an intermittent networking issue. Please reopen if the issue still exists and we can create a JIRA to track/fix.


Feat: Golang Support?

Hello 😊
Any plan to support Golang with SST v3?
CC @thdxr

Yup I think we restructured some of our internals for Python support. So this should be easier.

@jayair thank you for your reply. this is good to hear 🙂

i'm gonna give this a try today

@thdxr thank you so much! Looking forward toward it :)

How's it looking with the Go support?
My team is pretty excited to move to Ion, and this is the last piece we'll need.

How's it looking with the Go support?
My team is pretty excited to move to Ion, and this is the last piece we'll need.

Same here, the team waiting for this one to be available before switching from Serverless to SST.🙂


Arabic translation is completely off

Hello
Thanks for all the efforts. I noticed that the Arabic translation support is completely off. Sometimes the translations are totally irrelevant. To whom should we address this concern?

Hi @MohammedFadin,
Thanks for reporting this, I'll alert the right folks. Can you post a few examples here of what the source text is, what the incorrect translation is, and perhaps what a better translation might be (you can skip that last part if it's too much effort).

One more question, were you using the ar-en-conversational or the ar-en domain?

close due to inactivity


Remove unused import

After Gankro's fixes in blist, it doesn't use std::mem anymore.

Ah whoops, I think this was a rebase error.


Response from server truncated

Hi,
Last week, I have implemented Guzzle into my project as Retry proxy request. I works fine, but a response from my API is bigger than 8192 characters, and Guzzle cut it approximately here.
I do that :
return $myClient->get( $this->transformUri($request->getUri()) );

Should I use Stream ? And in that case, which Stream ?
I have try to add a try catch but it handle nothing (Logic because response is returned).
My system :

bananapi@bananapi:/var/www/SPadPro_Replicator/benchmark$ php -v
PHP 5.6.24-0+deb8u1 (cli) (built: Jul 26 2016 14:40:24)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
bananapi@bananapi:/var/www/SPadPro_Replicator/benchmark$ curl -V
curl 7.38.0 (arm-unknown-linux-gnueabihf) libcurl/7.38.0 OpenSSL/1.0.1t zlib/1.2.8 libidn/1.29 libssh2/1.4.3 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS IDN IPv6 Largefile GSS-API SPNEGO NTLM NTLM_WB SSL libz TLS-SRP

@Servuc I set up a basic reproduction environment, but I can't really reproduce your issue.
https://github.com/reproduce/guzzle/tree/issue1610
Can you please try to use this env, maybe provide a PR if the issue is not environmental.

I've just to read the doc :
http://docs.guzzlephp.org/en/latest/request-options.html#stream
$response = $client->request('GET', '/stream/20', ['stream' => true]);
// Read bytes off of the stream until the end of the stream is reached
$body = $response->getBody();
while (!$body->eof()) {
    echo $body->read(1024);
}

Hey could you clarify what the 'default size' is in any given case? Where is it defined? This type casting to string / truncation issue has caused me a nightmare in the codeception project so it would help me if I understood exactly why the original implementation was failing.

Hi,
I haven't find where that value was defined.
I think it's corresponding to default value in PHP (https://www.php.net/manual/en/function.fread.php)
Documentation say that length by default is 8192 bytes => 1024 chars :)
I hope I help you :)

Thanks for the info


Test suite and scripts cleanup

remove superfluous tests that are no longer valid or already covered elsewhere
move (disabled) apply template test to unittests for faster execution when re-enables it
re-enable commented out tests whenever possible
reduce number of logins per test to save time
rename files (remove unit as these are not unit tests)
fix timing is on delete engagement test
remove everything related to travis
remove unused files in setup and test and docker folders

@aaronweaver I cleaned up some stuff around test scripts, travis, etc. Afterwards I realized there were 2 or 3 files related to building  docker images for appsecpipeline. My impression is these scripts were used before dojo had the "official" docker images we have now. But I might be wrong. What do you think?

It seems a lot of dead code was removed. well done @valentijnscholten 👍

So we have a small amount of extra tests, but the duration of the test suite has dropped by ~4minutes / 16% because we only login once per test case instead of for every test method.


Rename Event to Mutation

Per conversation in private with @kzaher, this PR renames Event to Mutation to make its purpose clearer.
It also deprecates the Bindings(subscriptions:events:) initializer.

Love it. Hope this should improve the readability.


RTLIL sync rules are Verilog-specific and should not be emitted

$ cat bug.py
from nmigen import *
from nmigen.cli import main

class bug(Elaboratable):
    def __init__(self):
        self.a = Signal()
        self.b = Signal()
        self.o = Signal()
        self.clk = Signal()
        self.rst = Signal()

    def ports(self):
        return [self.a, self.b, self.o, self.clk, self.rst]

    def elaborate(self, platform):
        m = Module()
        m.domains.sync = sync = ClockDomain('sync', async_reset = True)
        sync.clk = self.clk
        sync.rst = self.rst
        s = Signal()
        with m.If(s):
            with m.If(self.a):
                m.d.sync += s.eq(0)
            with m.Else():
                m.d.sync += s.eq(1)
        with m.Else():
            with m.If(self.b):
                m.d.sync += s.eq(1)
            with m.Else():
                m.d.sync += s.eq(0)
        m.d.comb += self.o.eq(s)
        return m

if __name__ == '__main__':
    uut = bug()
    main(uut, ports = uut.ports())
$ python3 bug.py generate -t v
Traceback (most recent call last):
  File "bug.py", line 37, in <module>
    main(uut, ports = uut.ports())
  File "/home/pi/repos/nmigen/nmigen/cli.py", line 78, in main
    main_runner(parser, parser.parse_args(), *args, **kwargs)
  File "/home/pi/repos/nmigen/nmigen/cli.py", line 62, in main_runner
    output = verilog.convert(fragment, name=name, ports=ports)
  File "/home/pi/repos/nmigen/nmigen/back/verilog.py", line 61, in convert
    return _convert_rtlil_text(rtlil_text, strip_internal_attrs=strip_internal_attrs)
  File "/home/pi/repos/nmigen/nmigen/back/verilog.py", line 51, in _convert_rtlil_text
    ignore_warnings=True)
  File "/home/pi/repos/nmigen/nmigen/_toolchain/yosys.py", line 186, in run
    return cls._process_result(popen.returncode, stdout, stderr, ignore_warnings, src_loc_at)
  File "/home/pi/repos/nmigen/nmigen/_toolchain/yosys.py", line 108, in _process_result
    raise YosysError(stderr.strip())
nmigen._toolchain.yosys.YosysError: ERROR: Multiple edge sensitive events found for this signal!

small changes to this code result in no yosys error:

comb assignment of s, sync assignment of o
simple reg m.d.sync += o.eq(i)
passing False to async_reset

Per discussion with @mwkmwkmwk, RTLIL sync rules are a Verilog construct that protrudes into RTLIL. The cause of the bug here is that proc_arst pass expects a certain construct specified in IEEE 1364.1, and we are not generating that exact construct.
Instead of using sync rules, we should emit $dff and $adff cells directly, and probably not even run any proc passes at all. This would be a much cleaner solution in every aspect, and not significantly hard to implement.

I'm having a similar bug but Yosys doesn't rise an error, It just avoid the async reset. I workaround this for a while passing the signal through an auxiliary comb signal. But this workaround is not working for FSM state signal.
I have two questions:

Have you any idea how can i workaround this?
How difficult is to resolve this issue? Can you coach me to resolve it? How can I contribute?

Regards


Prover error when using /randomSeedIterations:n

Repro: run boogie on Test/inductive-sequentialization/PingPong.bpl as
path_to_boogie PingPong.bpl /randomSeedIterations:1

Lots of Prover errors are spewed out.

It seems that this comes up with /randomSeed, as well. Normally, /randomSeedIterations:1 shouldn't be any different from the default mode of operation, except that it does explicitly set the random seed if it's not already set.

If I use /proverLog then it creates 2 logs, the second one only contains references to certain renamed variables but not the function definitions for them, so that's why the solver is complaining. Would have to deep dive to understand why.


bump MadNLP version to 0.4.0

Codecov Report

Merging #147 (d4cc81f) into master (b884aa2) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #147   +/-   ##
=======================================
  Coverage   81.33%   81.33%
=======================================
  Files          31       31
  Lines        3392     3392
=======================================
  Hits         2759     2759
  Misses        633      633

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 b884aa2...d4cc81f. Read the comment docs.


App cannot bring to front when we open other App

I cannot bring to front when we open other App like WhatsApp or Browser...
or anyone here sucessfully can bring to front after we put it in background when we open other App ?

i ham this problem too


ReadMe and Sketch

The sketch looks good to me! Nice work! However I am unable to open the pdf from browser and downloading it doesn't work either. Can anyone check if that works? thanks

I deleted the pdf. Not needed, I rendered it in file while the .png, the pdf was just the original version generated by the scan.


Restore culling pity

At some point, add back in the wiggle room at the edge of the screen. But allow it to be turned off easily for future debugging.

This was done


Create a doc on Kafka

Create a document on how to install kafka and run a simple example.

Simple console example added GH-25 (https://github.com/animenon/Tech-FAQs/pull/25)


There should be 2 branchs instead of 16

Branch management is messy right now

As long as we don't use extensive testing on pull requests through github actions, contributors should work on their own fork only
Dependabot is imo useless except to spam irrelevant issues and PRs

As long as we don't use extensive testing on pull requests through github actions, contributors should work on their own fork only

I disagree with that, using a fork makes things harder, for example to pull upstream you need to manager an extra remote, all contributors to this repo are not power user of git
I don't see the issues of having multiple branch :thinking:, the only one that matter is master all the other one are just WIP branches that are not ready for master

Dependabot is imo useless except to spam irrelevant issues and PRs

It's not useless it help me too keep track of my upstream dependencies, some of them are noise (lilke some of the dev dependencies) but I need to configure dependabot for that, but for example update on minecraft-protocol and minecraft-data can bring useful update for us

maybe for breaking changes but this is adding extra noise


[FEAT] add 1.4.1 contracts deployed on Apechain

Add new chain
Please fill the following form:
Provide the Chain ID (Only 1 chain id per PR).

Chain_ID: 33139

Relevant information:
RPC: https://rpc.apechain.com

There are deployments missing for 1.4.1 contracts, namely:

SafeToL2Migration
SafeMigration

I have deployed and added these contracts


Update instructions to run application

this seems to build and run fine for me!
@hollandjg remind me -- what is the purpose of this change? is it because the fed site will be deployed with Docker Compose in the gov secure environment?

Yes, this uses the structure needed for Cloud.gov Pages, originally based on https://github.com/cloud-gov/pages-uswds-gatsby


fix(NA): support bazel paths with whitespaces on windows

This PR is a fix for a thing I found while testing https://github.com/bazelbuild/bazel-watcher/pull/479 on Windows.
My usually setup is to install bazelisk within npm and then use it to manage bazel while ibazel is also installed through npm. On this setup bazelisk endup being installed on C:\Progam Files which contains a white space. That setup causes an error to be thrown while querying for files to be watched which doesn't allow to use ibazel. The changes in this PR fixes the problem.

I would like to re-open this PR and be able to merge it with the upstream


Fix test report

The correct job name is benchmarks not benchmarking
Closes https://github.com/coiled/coiled-runtime/issues/160

Great catch @jrbourbeau. Everything looks green, merging it now.


add loading icons when background refreshing

Issue #, if available:: AIML-ADC-8227
Description of changes:

add a loading indicator while there is a background refresh in the details pages and in the tables.
Details pages status changes to Loading
for tables, the refresh buttons changes to loading state
Add loading button to project resources overview

Loading Indicators preview:

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Any idea on how we could enhance this in the future so it isn't so flash-y? Maybe text that shows when it starts refreshing that goes away after a few seconds regardless of how quickly the request takes? As-is it seems like it is likely to flash so quickly the user might not know what was happening. Especially since there is 1 min between when it happens.

I like @dustins idea. Ill make that change

I updated the description images with the new behavior. The loading icons stay loading for a minimum amount of time of 2 seconds. It will also stay in a loading state for longer in the situation where we are actually loading for longer than 2 seconds.


Added my school

I added National Institute of Technology, Tokuyama College.

http://www.tokuyama.ac.jp/

@JagaLove117 Pull request merged. Thank you!


⚠ Site ANTS has degraded performance

In aabab34, Site ANTS (https://ants.gouv.fr) experienced degraded performance:

HTTP code: 200
Response time: 4818 ms

Resolved: Site ANTS performance has improved in 2c2d0c4.


When i try to import the sass from 'vue-blu/src/scss/main.scss' it fails for unexpected @character

if i have in my main.js
import 'vue-blu/src/scss/main.scss'
webpack answers this:

Module parse failed: C:\Users\pietro.caruso\Desktop\archi-suite\node_modules\vue-blu\src\scss\main.scss Unexpected character '@' (8:0)
You may need an appropriate loader to handle this file type.

i am using the webpack-simple config with sass enabled

I think there may be a mistake in your configuration of webpack.


Remove some bullet points from the in-scope list

Intended to address this issue: https://github.com/p4lang/p4-spec/issues/137

Closes #137


Update-Database with specific connection string

I can't find a way of updating my database in all the different environments that my app runs.
Can you please provide some documentation in how to achieve this?
I've several appsettings and I need to be able to run Update-Database on each environment. Thx!

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

ID: 6e28b0a8-b7e4-4c07-9e60-0df403bbee28
Version Independent ID: 12300b31-6f7b-b75c-970d-693365e77013
Content: Migrations - EF Core
Content Source: entity-framework/core/managing-schemas/migrations/index.md
Product: entity-framework
GitHub Login: @bricelam
Microsoft Alias: bricelam

@alemag1986 It works much like web config transforms worked in the past.  Maybe this will help you understand how this works...
https://stackoverflow.com/questions/48913968/net-core-2-entity-framework-update-database-of-different-environment
In the same vein, it'd be nice to be able to drive settings through launchSettings.json as well.  Is this possible today?

Blocked on dotnet/cli#9730

@kduenke thanks for the answer, yup I end up changing the NuGet Environment:
$env:ASPNETCORE_ENVIRONMENT='my-environment'

Duplicate of #1359


The total CPU requests for containers are too small for easyauth/dapr/managed identity/jmxmetrics to function.

Please provide us with the following information:

This issue is a: (mark with an x)

[x] bug report -> please search issues before submitting
[ ] documentation issue or request
[x] regression (a behavior that used to work and stopped in a new release)

Issue description
We are unable to stop an existing workload profile container app that is using .1 CPU this morning in CUS. The same container app with .1 CPU is working fine in EUS2.

We have been running .1 CPU on our container apps for a while now. We only run .2 CPU when our container app is using dapr. Now, I notice the error message is also including managed identity. Managed identity didn't use to require .2 CPU minimum.
Additional context
Ex. Did this issue occur in the CLI or the Portal? Both

@jsheetzmt can you send the resource URIs for container app and timestamp to acasupport(at)microsoft(dot)com?