Allow constraint of pool resources on multiprocess.pool() execution within parallel AutoAttack

Is your feature request related to a problem? Please describe.
Problem
python=3.11
When leveraging attacks/evasion/auto_attack.py in parallel, the multiprocess.pool() call is unconstrained and will use os.cpu_count() as a default value (all cpus).  This is problematic in scenarios when all resources should not be consumed by some mechanism leveraging AutoAttack.

multiprocess.pool documentation
processes is the number of worker processes to use.
If processes is None then the number returned by os.cpu_count() is used.

Note:  The functionality for multprocess.pool is slightly different in python>=3.13.  It will leverage os.process_cpu_count() instead, which is an abstraction of threads available.
Evidence

Jupyter notebook leveraging parallel AutoAttack
All CPUs are maxed by this process until completion

Describe the solution you'd like
Ask
Allow users to optionally specify the number of processes that parallel AutoAttack will use within its pool.
Possible Solution:

Expose new param for parallel_pool_size
Init pool size as 0/Unmodified: parallel_pool_size: int = 0,
If pool size was unmodified, capture max available - 1 (to prevent 100% resource consumption)

import multiprocess
147 ++    pool_size = multiprocess.cpu_count() - 1 if multiprocess.cpu_count() > 1 else multiprocess.cpu_count()
148 ++    if self.parallel_pool_size > 0:
149 ++        pool_size = self.parallel_pool_size

Use pool_size as the multiprocess.pool() constraint

if self.parallel
291  ++    with multiprocess.get_context("spawn").Pool(processes=pool_size) as pool:

Describe alternatives you've considered

This is a feature to allow users the ability to control resource consumption with parallel execution of AutoAttack (with the addition of not consuming all CPUs in all cases if unmodified by a user).  The above example could be reworked for cleaner code, but the premise of exposing a new param for users to control pool size would still be necessary for this feature.

Additional context
@beat-buesser My work here is in context with the internal heart-library research I conducted for IBM located in this Internal GitLab thread

Hi @lockwoodar Thank you very much for reporting this issue!


Difficulty installing examples

Hi,
After installing holoviews using conda on OSX, I wanted to install the holoviews examples. However, there was not holoviews command available after installing from the ioam channel.
 % conda install -c ioam holoviews bokeh
... install proceeds as normal...
% holoviews --install-examples
zsh: command not found: holoviews

Interestingly, if I install holoviews without specifying the ioam channel, I get a hooviews command, but it crashes:
% conda install holoviews bokeh
Solving environment: done

## Package Plan ##

  environment location: /Users/cpl29573/anaconda3

  added / updated specs:
    - bokeh
    - holoviews

The following packages will be UPDATED:

    holoviews: 1.6.2-py36_0 ioam --> 1.9.1-py36h11923e7_0

Proceed ([y]/n)? y

Preparing transaction: done
Verifying transaction: done
Executing transaction: done

% holoviews --install-examples
Traceback (most recent call last):
  File "/Users/cpl29573/anaconda3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 664, in _build_master
    ws.require(__requires__)
  File "/Users/cpl29573/anaconda3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 981, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/Users/cpl29573/anaconda3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 872, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (param 1.4.2 (/Users/cpl29573/anaconda3/lib/python3.6/site-packages), Requirement.parse('param<2.0,>=1.5.1'), {'holoviews'})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/cpl29573/anaconda3/bin/holoviews", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/Users/cpl29573/anaconda3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3138, in <module>
    @_call_aside
  File "/Users/cpl29573/anaconda3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3122, in _call_aside
    f(*args, **kwargs)
  File "/Users/cpl29573/anaconda3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 3151, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/Users/cpl29573/anaconda3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 666, in _build_master
    return cls._build_from_requirements(__requires__)
  File "/Users/cpl29573/anaconda3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 679, in _build_from_requirements
    dists = ws.resolve(reqs, Environment())
  File "/Users/cpl29573/anaconda3/lib/python3.6/site-packages/pkg_resources/__init__.py", line 867, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'param<2.0,>=1.5.1' distribution was not found and is required by holoviews

Thanks for reporting this.
I'm using OSX and I check the holoviews command installs examples after each release, but it looks like it might work for me and not for other people (despite testing in a clean conda environment).
It looks like the required param version might not be on the defaults conda channel. My only other suggestion right now is to try conda-forge, does the version installed using conda install -c conda-forge holoviews work?

Hi,
So,  is the ioam channel not the correct way to install holoviews? Should it be done by the default channel instead?
In any case, your suggestion worked, although I also had to explicitly do:  conda install -c conda-forge param. Installing just holoviews from conda-forge did not seem to update param.
I should mention, I have only recently migrated from a Canopy enthought/edm installation, so I am somewhat new to conda. I might be doing something subtly wrong on my end.
Thanks!
Caleb


Issue with VS17

Hi,
i wanted to use this library to plot my data, so i install Python 2.7, numpy and matplotlib, and all of them work well (i write a simple python script to plot some data). When i try to run the minimal example on VS17 (Win10), it gives me an error at row 106:
PyObject* pymod = PyImport_Import(pyplotname);
with this message: "Exception genereted on 0x00007FFA93A7917A (ntdll.dll) in MatPlotLibTest.exe: 0xC0000008: An invalid handle was specified." That is pretty meaningless to me.
To run the file i did following step:

Create empty project.
Include minimal.cpp
Set up include directory for "python.h" and "numpy/arrayobject.h"
Set up external libraries for "python27.dll"
Substituted #include<Python.h> with
#ifdef _DEBUG #undef _DEBUG #include <Python.h> #define _DEBUG #else #include <Python.h> #endif
due to a bug with "python27_d.dll"

Can someone help me?
PS: the script inside contrib directory does not work with VS17.

I have the same problem. VS 2017, Win10 x64
I found the log:
  File "C:\Python\Python27\Lib\lib-tk\FixTk.py", line 59, in <module>     prefix = convert_path(prefix)   File "C:\Python\Python27\Lib\lib-tk\FixTk.py", line 37, in convert_path     ctypes.windll.kernel32.CloseHandle(hdir) WindowsError: [Error -1073741816] Windows Error 0xC0000008
CloseHandle will cause error. I didn't google the reason.
So, I do the quick fix, comment line 59 in FixTk.py
#prefix = convert_path(prefix)
that works for me...


cp from local to gen 2 blob store issue when space in destination path

Which version of the AzCopy was used?
Note: The version is visible when running AzCopy without any argument
10.0.8-Preview
Which platform are you using? (ex: Windows, Mac, Linux)
Windows
What command did you run?
Note: Please remove the SAS to avoid exposing your credentials. If you cannot remember the exact command, please retrieve it from the beginning of the log file.
.\azcopy.exe copy "C:\Users\BigDrums00\azcopy*" "https://client.dfs.core.windows.net/data/RawData/3rd Party/BigDrums00/Inbound/" --overwrite=true --recursive --follow-symlinks --log-level debug --list-of-files "C:\Users\BigDrums00\azcopy\list.json"
list.json contains:
{"files":["test_upload.txt"]}
What problem was encountered?
Destination is corrupted and becomes:
"https://client.dfs.core.windows.net/data/RawData/3rd Party/BigDrums00/Inbound/https://client.dfs.core.windows.net/data/RawData/3rd Party/BigDrums00/Inbound/test_upload.txt" and connection fails
How can we reproduce the problem in the simplest way?
Include a space in the AD blob store path
Have you found a mitigation/solution?
Replace space with %20 in destination uri section "3rd Party"

Hi @BigDrums00, thanks for reaching out!
Spaces in URLs need to be escaped with %20. We can add a validation to throw a meaningful error. Thanks!

If it means anything, In the logs it looks like it attempted to update the url with %20. The same url with a space works fine for downloads too without %20.

Fixed in 10.1.0.


No deploy of mutatingwebhookconfiguration when operatorManageWebhooks is true

Please provide a description for what this PR is for: https://github.com/istio/istio/issues/17061
Matching PR on istio/installer repo: https://github.com/istio/installer/pull/439
Design documents:
[1]https://docs.google.com/document/d/1VHyBre8943USOx_YEVtA18KfEoGTmLT1iBHESO5bzcA/edit#heading=h.qex63c29z2to
[2] https://docs.google.com/document/d/1v8BxI07u-mby5f5rCruwF7odSXgb9G8-C9W5hQtSIAg/edit#heading=h.xw1gqgyqs5b
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[X ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@lei-tang: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

e2e-simpleTests-cni_istio
fa973ed76c39509a09f535da22c0761edd531dbe
link
/test e2e-simpleTests-cni_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

@lei-tang: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

e2e-simpleTests-cni_istio
fa973ed76c39509a09f535da22c0761edd531dbe
link
/test e2e-simpleTests-cni_istio

integ-mixer-k8s-tests_istio
fa973ed76c39509a09f535da22c0761edd531dbe
link
/test integ-mixer-k8s-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Fixed: encoding error.

Hi there,
I've created small fix - unicode error.
On Py3 inside Docker image I was getting error while running setup.py and reading LICENSE file. When I ran the pip install django-crequest directly on my machine I got not errors. Dunno why :smile:
However this small fix solves instaling your great package into Docker image (based on Debian testing).
Aloha :palm_tree:

Awesome , thanks for the fix.
I'm merging it right away.


iOS PiP Support

I was wondering when the pip support is planned. I need this feature to be enabled in my current project is there's any workaround to enable it?
Only manually be just leaving the app to display PiP.

hey @b0iq
If you are looking for iOS PIP Mode support while playing Live Streaming HLS content, then that's already available.
PIP support for iOS Video Calls is on our roadmap but its release timelines are not scheduled currently.


[SNAP-2121] separate diskstore for metastore and delta regions

Use separate diskstores for metastore and delta regions. Datadictionary one for former and
new one for latter. However, backward compatibility has to be also maintained so the diskstore
assignment is done by modifying the DDLs that get executed (latter from Snappy layer) so
when starting from existing cluster where these tables have already been created, it will
behave as before.
Changes proposed in this pull request

set the "datadictionary" to be the diskstore when the connection specifies default schema as the
SNAPPY_HIVE_METASTORE which should only be done by the internal hive metastore client
make all the regions using "datadictionary" as diskstore as persistent in DistributionDefinitionNode
(in particular metastore regions will be persistent on locator now so backing up datadictionary
will backup full metadata)
added separate diskstore in "snappy-internal-delta" for delta regions
make entry for it in SYSDISKSTORES (in FabricDatabase bootup)
updated tests for the same

Patch testing
precheckin
ReleaseNotes changes
NA
Other PRs
https://github.com/SnappyDataInc/snappydata/pull/916

@sumwale - So even if the user has created a diskstore of his own and given that disk store for persistence of the column table the row buffer will always go in this internal delta diskstore?

@kneeraj Yes, otherwise compactor keeps copying tons of column data unnecessarily.

Another approach could have been to just modify the needsCompaction() method to return true or false based on the size which is valid vs the number of live entries. Actually this should be the case anyways for even normal tables where rowSizes vary a lot. Plus all sort of size accounting is already there.

In that approach the backward compatibility concern is also not there.

@kneeraj No cannot use that approach else the krf sizes will keep increasing. This will cause restart to go OOM as reported on Slack (compactor not compacting for that case is another issue but we need compaction else it will cause lot of trouble later).

Also a general change to compactor to be based on sizes rather than count can also cause trouble otherwise for similar reasons because lots of redundant keys can build up which can cause problems in recovery map creation on restart.
About disk size planning, yes we may need to document if user is doing lots of jdbc inserts. Don't think the size can exceed 1-2GB even for multiple column tables but we can document for the case when non-default diskstore has been configured. Are we documenting disk sizes for default diskstore when no explicit diskstore is specified? Normally its understood that user has lots of disk space. Planning there is very difficult in any case due to the way compactor runs, so we can't really be sure that even 4X disk space would be enough though normally that is the recommendation.

Also a general change to compactor to be based on sizes rather than count can also cause trouble otherwise for similar reasons because lots of redundant keys can build up which can cause problems in recovery map creation on restart.

No, this should not happen because recovery map is built only after all the drfs are read. So all the deleted keys ( delta buffer deleted keys ) will be ignored for recovery map.

I still need to understand this part ( pasting from our offline discussion )
Neeraj: When we create the cached batch we anyways go through the entire list of region entries from the row buffer. In that iteration itself if you, using the diskentryId for each entry, you get to know which oplog contains the last valid value for that region entry. Now we can just find out the DiskInfoRegion object corresponding to the rowbuffer region and do the atomic decrement in the info of that region and also decrement the total live count of that oplog. Rest all will automatically happen.
Sumedh: As we discussed, there are workarounds possible for deletes but this is a general problem. Column table deletes/updates will suffer the same problem because all of those are marked as updates in crf.
Neeraj: In fact the destroy of the entry from rowbuffer should already be doing this. Isn't it?
Sumedh: Where?
Neeraj: So for some reason the destroy from the rowbuffer for each region entry is not updating the DiskId( oplog id + oplogentryId ) correctly? May be if there is some problem here we just need to fix this. What am I missing?
Sumedh: Didn't understand. By this way atmost the last updated Oplog entry will be marked but we need this for all the updates. Perhaps will be fine for rollover of row buffer.Ok, just looked at the code. It does seem to be updating live entry list of previous Oplog after each update/delete in Oplog already. However, compactor is certainly is not working as it ought to. Noticed that sometimes compactor is able to compact all after a 10mins gap or something. Maybe there is some scheduling problem in the code.
If the compaction bug which you have pointed is the culprit, may be we just need to fix that. An f2f discussion would help I guess...

I am going ahead with the review anyways though. Should be completing soon.
About the docs part, I don't think we do a good job now. But will have to do as per the final design. Will file a task for that.

@kneeraj

No, this should not happen because recovery map is built only after all the drfs are read. So all the deleted keys ( delta buffer deleted keys ) will be ignored for recovery map.

How is that possible? If the drf entry for a key in a separate Oplog how can the recovery map be built after reading that drf first? For each Oplog it has to build the recovery map either way to lookup. Later when drf is read its possible to clear it but temporarily it will take huge memory causing OOM. Also reported on Slack (which would be the obvious case to me).

So, if the compaction bug which you have pointed is the culprit, may be we just need to fix that.

Didn't understand. Compator bug should be fixed all right, but we NEED the compaction to happen either way. What exactly is your objection to this PR?

@kneeraj

So all the deleted keys ( delta buffer deleted keys ) will be ignored for recovery map.

Ok, I see. What you are saying is that a map of all drfs is created first, right? In that case that will cause the OOM. Overhead of krf map and drf map should be similar, and even is latter is somewhat less, the ever increasing number of keys means that restart will likely fail with OOM if compactor has not done the compaction.

What you are saying is that a map of all drfs is created first, right?
Yes, it is a Set I guess. If there are a lot of keys then yes there are chances of OOM. This should be considered by persistent design anyways and probably a separate task?

What exactly is your objection to this PR?
Few things which are making me uncomfortable are:

Data of the same table are in different disk stores. May be user wants to have better disks for table data. [ May be we can create an internal disk-store within the main disk store which user has provided, or is it already like that? For example if the DS path is SNAPPY_DELTA_DISKSTORE_NAME then the internal can be  SNAPPY_DELTA_DISKSTORE_NAME/internal ]

As mentioned above, more information has to be conveyed to the user in docs for provisioning.

The change related to "datadictionary" and hive metastore stuff looks good and logical to me. For separate disk store part I was just trying to see if these can be avoided if alternative exists and that is why discussing few things. As conveyed earlier I am anyways doing the review assuming this design to be valid.

This should be considered by persistent design anyways and probably a separate task?

Yes can be tracked though is low priority with column tables. As had mentioned in the call, could use Spark's sorter (like used in DISTINCT) instead of sets/maps (for both krf and drf) which can overflow to disk if required. With column tables it looks largely unnecessary if we ensure that row buffer keys are properly compacted.

May be we can create an internal disk-store within the main disk store which user has provided, or is it already like that? For example if the DS path is SNAPPY_DELTA_DISKSTORE_NAME then the internal can be SNAPPY_DELTA_DISKSTORE_NAME/internal

That can be done. My concern there was the doubling of diskstores and thus double the number of compactor threads and other diskstore tasks. Not a problem if those use a common thread pool (perhaps they already do).

That can be done. My concern there was the doubling of diskstores and thus double the number of compactor threads and other diskstore tasks. Not a problem if those use a common thread pool (perhaps they already do).

Well the other problem would be more preblows occupying 1 GB upfront. If user just does the optimized inserts instead of jdbc inserts then very little or no data will come in delta buffer and they will be wasted space.

Had reduced the delta diskstore size to 100MB for that, but if there are many of those then diskspace will be wasted. For separate delta diskstores can reduce it further to say 50M.

Checked that there are separate thread-pools for each diskstore (some tasks use common waiting pool), but I think having a common pool should be fine and makes sense. Only async writer can have a dedicated pool assuming it to be a rare case. @kneeraj @suranjan what do you think?

Yes each disk store has its own pools. I am fine with a shared one.

Have filed a separate task for 1.1 to track separate disk stores for delta regions: https://jira.snappydata.io/browse/SNAP-2127

@kneeraj @suranjan
Followup PRs for SNAP-2127 created for review:
https://github.com/SnappyDataInc/snappy-store/pull/350
https://github.com/SnappyDataInc/snappydata/pull/918


Error since Update

hey i get this Error after Update Homeassistant
ValueError: non-hexadecimal number found in fromhex() arg at position 4
2024-08-09 11:06:24,241 [  INFO  ] Connected to MQTT broker - mqtt_publisher
2024-08-09 11:06:24,258 [  INFO  ] Scheduler started - apscheduler.scheduler
Traceback (most recent call last):
File "/usr/src/app/./mqtt_gateway.py", line 712, in
asyncio.run(mqtt_gateway.run(), debug=debug_log_enabled())
File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/usr/src/app/./mqtt_gateway.py", line 301, in run
login_response_message = self.saic_api.login()
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/saic_ismart_client/saic_api.py", line 119, in login
self.message_v1_1_coder.decode_response(login_response_hex, login_response_message)
File "/usr/local/lib/python3.11/site-packages/saic_ismart_client/ota_v1_1/Message.py", line 13, in decode_response
super().decode_response(message, decoded_message)
File "/usr/local/lib/python3.11/site-packages/saic_ismart_client/common_model.py", line 401, in decode_response
buffered_message_bytes = io.BytesIO(bytes.fromhex(message[5:]))
^^^^^^^^^^^^^^^^^^^^^^^^^^

Ditto...

Is this not the same as #51?

I use the Pre-Version now ... Works fine


Change method of storing cardlist

If the cardlist (Deck, Builder, Cardlist) would be somehow global it would be easy to switch between components. Though global solutions are not reliable, the appropriate object accessed global would be good idea.

Vuex gonna be used.


Support for more conditions in findOne

Problem
I think Prisma should support "nested where" query syntax. This is where two or more tables that are joined both have a where clause against them.
For example, let's say I'm building a CRM where a User has many Contacts and a Contact can have many Notes:
model User {
  id          Int        @default(autoincrement()) @id
  email       String     @unique
  name        String?
  contacts    Contact[]
}

model Contact {
  id        Int       @default(autoincrement()) @id
  user      User      @relation(fields: [userId], references: [id])
  userId    Int
  name      String?
  email     String?
  notes     Note[]
}

model Note {
  id        Int      @default(autoincrement()) @id
  contact   Contact  @relation(fields: [contactId], references: [id])
  contactId Int
  text      String
}

In the simplest case I want to pull a note by ID, but only if the proper user owns that note. So let's say the user is ID 123 and they want to view note 456. In regular SQL I might do something like
SELECT Note.*
FROM   Note INNER JOIN Contact ON Note.contactId = Contact.id
WHERE  Note.id = 456 AND Contact.userId = 123

So if the Note.id is correct, but the proper user doesn't own that note, this will return null. Right now when using Prisma I need to manually add a conditional to check the status of that ID, something like:
const note = await db.note.findOne({
  where: { id },
  include: { contact: { select: { userId: true } } },
})

if (note.contact.userId === currentUser.id) {
  return note
} else {
  return null
}

(Notice that if I want this function to only return the note and not included contact detail, I also need to delete note.contact).
Suggested solution
Similar to the ability to add select and include objects to relations, allowing setting a where object that could add that nested where. Then the above code then becomes a single statement:
return db.note.findOne({
  where: { id },
  include: { contact: { where: { userId: currentUser.id } } }
})

(In this case I would still need to delete the included note.contact in order to only return the note data.)

We already allow you filter many to part of relation: https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/filtering#filter-within-include
But you are asking for filers for one side of one to many relation(a note has only one contact).
I don't think filter makes sense here. There will be always one Contact record that is connected to the Note. So allow you to select fields from that record or including the complete record.
The include properly is meant to for including related record to the result of top where. What you are asking for in include to include the complete result of the query which I think changes the meaning of include completely.

I agree, the include syntax is not really ideal but I was trying to stick to what's already there (include taking additional objects like select). A more optimal interface could be something like:
db.note.findOne({ where: { id, contact: { userId: currentUser.id } } })

Since Note already knows how it relates to a Contact through the schema it would know it needs to create a join here and provide both WHERE clauses.

Maybe something like AND on findOne is a more reasonable feature request here:
  return db.note.findOne({
    where: { AND: [{ id }, { contact: { userId: currentUser.id } }] },
    include: { contact: true },
  });

I am not sure how we will maintain the uniqueness of findOne here though. This already possible with findMany but it will introduce the an additional check as result will be wrapped in an array:
// already possible
  let result = client.note.findMany({
    where: { AND: [{ id }, { contact: { userId: currentUser.id } }] },
    include: { contact: true },
  });

 return result.length > 0 ? result[0] : null

I am not sure how we will maintain the uniqueness of findOne here though.

Question: why is this uniqueness constraint part of findOne anyway? This isn't a limitation of SQL...are you trying to optimize something in the code itself? Why not just call findMany behind the scenes and then return the first result?
This is what Rails ActiveRecord does—find (equivalent to findOne) is just using where(equivalent tofindMany) behind the scenes and then adding LIMIT 1` so you only ever get 1 result. If it's not the one you were expecting then you weren't selecting by a unique column, but it doesn't force you to use a unique column, that's up to you.

Yeah, I actually agree with you here. I will raise this internally to the team :)

I think this is somewhat critical to the nested field in objectType. Imagine the below query.
    t.field(
      'profile',
      {
        type: 'Profile',
        nullable: true,
        resolve: async (user, args, ctx) => {
          const profile = await ctx.prisma.profile.findMany({
            where: {
              userId: user.id,
            },
          });
          return profile[0];
        },
      },
    );

If there are many dummy profiles and we want to just take unique one, the field will take all the rows.
Correct me if I am wrong! 🤔

Won't profile[0] always make it return a single one, no matter what? If there are multiple records that match the userId: user.id clause it will only return a single one—the first one!. WHICH one it returns is up to whatever order the database returns them, but that's a concern for the developer to make sure they're getting back the record they expect.

Quoted by @sorenbs:

The contract of findOne is:
Look up record by identity. If a record is returned you know that it is the only record with that entity.
That enables you to quickly verify that the code is correct without having to first consult the prisma schema to ensure that it is in fact looking up by identity. This is helpful in code reviews and generally when reading through code.
Code readability is much more important than code writability.

For additional information, see https://github.com/prisma/specs/issues/170#issuecomment-535424765
We could also introduce findFirst, which behaves like findMany but returns the first result – basically LIMIT 1. It is not guaranteed to be unique, so there could be two records and only one is returned; the application would need to make sure this shouldn't happen.

Won't profile[0] always make it return a single one, no matter what? If there are multiple records that match the userId: user.id clause it will only return a single one—the first one!. WHICH one it returns is up to whatever order the database returns them, but that's a concern for the developer to make sure they're getting back the record they expect.

What I was worried about was that findOne would return the row when the database finds one. However, findMany would keep searching for the next rows although we've already get the first row. Wouldn't this decrease the query performance?

Quoted by @sorenbs:

The contract of findOne is:
Look up record by identity. If a record is returned you know that it is the only record with that entity.
That enables you to quickly verify that the code is correct without having to first consult the prisma schema to ensure that it is in fact looking up by identity. This is helpful in code reviews and generally when reading through code.
Code readability is much more important than code writability.

For additional information, see prisma/specs#170 (comment)
We could also introduce findFirst, which behaves like findMany but returns the first result – basically LIMIT 1. It is not guaranteed to be unique, so there could be two records and only one is returned; the application would need to make sure this shouldn't happen.

Can you tell me more about it in soft delete scenario?
export const user = queryField('user', {
  type: 'User',
  args: { id: stringArg() },
  nullable: true,
  resolve: async (parent, { id }, ctx): Promise<UserReturnType> => {
   return  await ctx.prisma.user.findOne({
      where: {
        id,
        deletedAt: null,
      },
    });
  },
});

We are currently using above code for soft deleting users. Since, deletedAt is not unique, we can't use findOne in this case. What would be the better approach?

We could also introduce findFirst, which behaves like findMany but returns the first result – basically LIMIT 1.

Oooo I like this! This probably makes everyone's lives easier—findOne doesn't have to change at all so all the worries about different scenarios/cases are avoided.

@steebchen findFirst looks great, waiting for this feature

Created a separate issue for findFirst and candidated this one so we can track implementation if/when we go into it.
https://github.com/prisma/prisma/issues/3676

findFirst has been implemented and was shipped in release https://github.com/prisma/prisma/releases/tag/2.8.0
I think this can be closed now :)


Fix VmCloud button handling when navigating from other objects

https://bugzilla.redhat.com/show_bug.cgi?id=1339198
https://bugzilla.redhat.com/show_bug.cgi?id=1334275

Move controller code for Attach/Detach/LiveMigrate/Evacuate/Resize
into application_controller/ci_processing.rb so that it
is accessible to other controllers.

Rewrite controller code to support being called from both
explorer views and normal views.

Add conditional code to views so that they'll render
form submission buttons when not inside of an explorer view

Add cases to button method in EmsCommonController and
CloudVolumeController so that they can handle VmCloud buttons.

Opened to replace https://github.com/ManageIQ/manageiq/pull/9115, based on patches and feedback from @h-kataria.
@tzumainn

/cc @dclarizio @h-kataria

@mansam do you have to move code that handles attach/detach buttons as part of this PR, i don't see those 2 buttons on list of Instances screen so i think you should be ok with leaving code as it is for those 2 buttons. If Attach/detach buttons are only displayed on a summary screen user will already be in Instance explorer at that point so we should not need to move that code to common module.

I can revert the changes to attach/detach if you like @h-kataria, but it just seemed worthwhile to have all of the VmCloud actions be handled consistently.

@mansam if attach/detach buttons are never exposed on non-explorer type screen then we should leave those alone and not make changes to related views and controller code to move those methods around especially in this blocker PR.

@mansam As Darga Blocker, can we get the smallest possible change in (with more tests, if possible) so I can backport with confidence?  After this PR, you can refactor on master to get to consistency you mentioned.  /cc @h-kataria

@Chessbyte no problem

@mansam : please, ping me in the cleanup PR when you start working on it. My heart really bleeds then reading these lines and I'd like to help with the review at least. Thx!

verified buttons in UI.


Localization

You can help by submitting translations on Weblate.
If you have any questions just send a message.
Thanks!

I just added Indonesian translation for Flashy and also on Crowdin

hey @CrazyMarvin, just added Lithuanian translation with PR #24, could you review it please?

Can you set up shop on Weblate instead? I am boycotting Crowdin ever since reading their terms and agreements. :)

Can you set up shop on Weblate instead? I am boycotting Crowdin ever since reading their terms and agreements. :)

I feel you, @comradekingu. My first desire was to go with Hosted Weblate but they refused me. So I will stay with Crowdin. But you can put the translations here on GitHub and I will place them on Crowdin for you. 👌

@CrazyMarvin Seems to fit the criteria even for gratis hosting, with the libre plan. You can register your project yourself now, and then ask to have it accepted. There was a huge backlog of projects that applied, maybe this got lost in all that?

Hey there, there is a lot of strings missing for translation on Weblate, including the About page and several options.
Could you please add them ?

Hey there, there is a lot of strings missing for translation on Weblate, including the About page and several options.
Could you please add them ?

Sure, I will have a look.
Which ones do you mean?

Quite a lot of them really. I could list them all, but it would be not be very efficient. Do you want me to list them still ? I'd have to make some time for it.
Le 22 mai 2024 00:49:44 GMT+02:00, CrazyMarvin @.***> a écrit :

Hey there, there is a lot of strings missing for translation on Weblate, including the About page and several options.
Could you please add them ?

Sure, I will have a look.
Which ones do you mean?
--
Reply to this email directly or view it on GitHub:
https://github.com/Crazy-Marvin/Flashy/issues/12#issuecomment-2123557101
You are receiving this because you commented.
Message ID: @.***>

Quite a lot of them really. I could list them all, but it would be not be very efficient. Do you want me to list them still ? I'd have to make some time for it.
Le 22 mai 2024 00:49:44 GMT+02:00, CrazyMarvin @.***> a écrit :

Hey there, there is a lot of strings missing for translation on Weblate, including the About page and several options.
Could you please add them ?

Sure, I will have a look.
Which ones do you mean?
--
Reply to this email directly or view it on GitHub:
https://github.com/Crazy-Marvin/Flashy/issues/12#issuecomment-2123557101
You are receiving this because you commented.
Message ID: @.***>

Yes, please let me know which strings are missing on Weblate/strings.xml.

Uh, what i based myself on to report these missing strings was how french seemingly was supported in-app. At the time i noticed most strings not being translated.
But now browsing Flashy, all strings appear in default English ? And a quick browsing of translated strings in Weblate tells me it seems most of them if not all were set up for and actually translated ? This is really strange.
Maybe this is a bug on my side, or something to do with translation synchronization between Weblate and your project…
Le 10 juin 2024 15:29:28 GMT+02:00, CrazyMarvin @.***> a écrit :

Quite a lot of them really. I could list them all, but it would be not be very efficient. Do you want me to list them still ? I'd have to make some time for it.
Le 22 mai 2024 00:49:44 GMT+02:00, CrazyMarvin @.***> a écrit :

Hey there, there is a lot of strings missing for translation on Weblate, including the About page and several options.
Could you please add them ?

Sure, I will have a look.
Which ones do you mean?
--
Reply to this email directly or view it on GitHub:
https://github.com/Crazy-Marvin/Flashy/issues/12#issuecomment-2123557101
You are receiving this because you commented.
Message ID: @.***>

Yes, please let me know which strings are missing on Weblate/strings.xml.
--
Reply to this email directly or view it on GitHub:
https://github.com/Crazy-Marvin/Flashy/issues/12#issuecomment-2158385941
You are receiving this because you commented.
Message ID: @.***>


Fix #1094, Update CRC documentation

Describe the contribution
Fixes #1094
includes additional info that describes the CRC
Testing performed
Build and run unit test
Expected behavior changes
No impact to behavior
System(s) tested on
Ubuntu 20.04
Contributor Info - All information REQUIRED for consideration of pull request
Alex Campbell GSFC

CCB 2021-03-03 APPROVED


✨ [Feature]: 通过iframe将tinyEngine嵌入到项目中，项目配置组件的json用postMessage传给tinyEngine，如何正确渲染至画布

What problem does this feature solve
通过iframe将tinyEngine嵌入到项目中，项目配置组件的json用postMessage传给tinyEngine，如何正确渲染至画布
What does the proposed API look like
无
What is your project name
无

not issue, transfer to discussion.
@leeron-obj


docs/ansible; Remove GOPATH requirement from ansible user guide

@dymurray cherry-pick your change onto a new branch from master and re-submit.


Add support for overriding download location for crates.io

Describe the problem you are trying to solve
I would like to setup a simple mirror of crates.io (including crates) for use within a company so that:

we are able to build our products in the future if there are any issues with crates.io
we have a local copy of all crates that we use to build our products

Describe the solution you'd like
For a mirror I would like to be able to override the download location for a registry so that it is possible to use something like artifactory to create a cache of all crates which are requested. I did originally propose a PR for this under #4697, which I managed to workaround the lack of support by modifying config.json to update the download location and then setup a job to perform the merges, however this is a pain as when there are merge conflicts merging the index it needs sorting before people using the mirror index can pick up the latest crates.
Having something along the following lines in cargo config would mean that a direct clone of the crates index file can be used in a mirror and thus reduce the overhead:
[source]

[source.mirror]
registry = "https://[host and path to your git server]/crates.io-index"
[source.mirror.config]
dl = <caching download location>

[source.crates-io]
replace-with = "mirror"

For completeness I would suggest allowing api as well to be overridden here (although in my scenario that is not required).
Notes

@sfackler, @withoutboats, I believe both of you may be interested in mirroring a registry and I would appreciate your views.

@sfackler, @withoutboats, any thoughts on this?

You can already do this via .cargo/config I believe:
[registry]
index = "https://my-custom-index.com"

https://doc.rust-lang.org/cargo/reference/config.html#configuration-keys

I am wanting to be able to override the download location from the config,json in the index as it is a pain needing to keep merging the crates.io index, rather than just doing a straight mirror of the repo.

Ah gotcha. That seems like a plausible feature as well I think.

Is the workaround literally to vendor the crates.io registry and rebases a commit on top to change the config every time it's synced?

I want this feature too, we want a mirror for crates.io but every time we update the index, we need to merge to a modified branch.


does this create secure unguessable URLs?

If so I'd take a look at it and add letsencrypt support, so communication is secured automatically.

I'm not sure what you mean by secure unguessable URL.


Resolution issue with 4K

Hi All. Thanks for a great program. I am using an NEC display with 3840x2160 @30 native resolution. I need to change the resolution to 1080p. I have followed the advice in a previous closed issue that outlines how to change the display size. I added the approprate lines to my /boot/config.txt file:
hdmi_group=1
hdmi_mode=31

This corresponds to CEA, 1920x1080@50. This works with tty1 initially, but when it loads the .xsession script, it defaults back to 3840x2160 @30 again.
tty2 and tty3 are both fine with 1920x1080 when I swap to them so I suspect it is to do with either the matchbox window manager or xorg taking over the resolution.
I should mention that I am using a CM4 installed in the NEC display.
Can anyone help with this? I need it to stay at 1920x1080. I don't understand how matchbox and xsession work.

For anyone interested I've solved this. In the .xsession file I've added the following line after export DISPLAY
xrandr -display :0.0 --output HDMI-1 --mode 1920x1080 --rate 50

Hi mroutsinaus. Im new to the raspberry pi and im have the same problem with the resolution reverting back to default. Can you explain what i need to do to solve it. do I just type the command xrandr -display :0.0 --output HDMI-1 --mode 1920x1080 --rate 5
in the terminal when connected or do i need other comands first many thanks

Hi mroutsinaus. Im new to the raspberry pi and im have the same problem with the resolution reverting back to default. Can you explain what i need to do to solve it. do I just type the command xrandr -display :0.0 --output HDMI-1 --mode 1920x1080 --rate 5 in the terminal when connected or do i need other comands first many thanks

You may need to add the following to the /boot/config.txt file to force the pi to 1080p
hdmi_group=1 hdmi_mode=31
You'll have to google the group and mode for your settings.


BUG: Fatal error when using workers kwarg in integrate.quad_vec

Describe your issue.
When using the workers keyword argument in integrate.quad_vec, a fatal error occurs and the threads are not properly closed, resulting in an infinite loop of overlapping tracebacks.
Part of the error is below, although multiple tracebacks end up overlapping one another so I am unsure if it was completely finished where I cut it off. Happy to run it again if necessary and provide more of the output
Reproducing Code Example
import scipy.integrate as integrate
import numpy as np

alpha = np.linspace(0,10,20)
def vector_func(x):
    return x**alpha

integrate.quad_vec(vector_func, 0, 2, workers = 2)

Error message
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 120, in spawn_main
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 120, in spawn_main
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 129, in _main
    exitcode = _main(fd, parent_sentinel)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 129, in _main
    prepare(preparation_data)
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 240, in prepare
    prepare(preparation_data)
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 240, in prepare
    _fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 291, in _fixup_main_from_path
    _fixup_main_from_path(data['init_main_from_path'])
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 291, in _fixup_main_from_path
    main_content = runpy.run_path(main_path,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 291, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\BenDavisonPetch\OneDrive - Alloyed\Documents\High Throughput AM Modelling\Scan_Path_High_Throughput_BDP_Rewrite\scipybugtest.py", line 8, in <module>
    main_content = runpy.run_path(main_path,
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen runpy>", line 291, in run_path
  File "<frozen runpy>", line 98, in _run_module_code
  File "<frozen runpy>", line 88, in _run_code
  File "C:\Users\BenDavisonPetch\OneDrive - Alloyed\Documents\High Throughput AM Modelling\Scan_Path_High_Throughput_BDP_Rewrite\scipybugtest.py", line 8, in <module>
    integrate.quad_vec(vector_func, 0, 2, workers = 2)
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\site-packages\scipy\integrate\_quad_vec.py", line 358, in quad_vec
    integrate.quad_vec(vector_func, 0, 2, workers = 2)
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\site-packages\scipy\integrate\_quad_vec.py", line 358, in quad_vec
    with MapWrapper(workers) as mapwrapper:
         ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\site-packages\scipy\_lib\_util.py", line 399, in __init__
    with MapWrapper(workers) as mapwrapper:
         ^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\site-packages\scipy\_lib\_util.py", line 399, in __init__
    self.pool = Pool(processes=int(pool))
                ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\context.py", line 119, in Pool
    self.pool = Pool(processes=int(pool))
                ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\context.py", line 119, in Pool
    return Pool(processes, initializer, initargs, maxtasksperchild,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\pool.py", line 215, in __init__
    return Pool(processes, initializer, initargs, maxtasksperchild,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\pool.py", line 215, in __init__
    self._repopulate_pool()
    self._repopulate_pool()
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\pool.py", line 306, in _repopulate_pool
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\pool.py", line 306, in _repopulate_pool
    return self._repopulate_pool_static(self._ctx, self.Process,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\pool.py", line 329, in _repopulate_pool_static
    return self._repopulate_pool_static(self._ctx, self.Process,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\pool.py", line 329, in _repopulate_pool_static
    w.start()
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\process.py", line 121, in start
    w.start()
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\process.py", line 121, in start
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\context.py", line 336, in _Popen
    self._popen = self._Popen(self)
                  ^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\context.py", line 336, in _Popen
    return Popen(process_obj)
           ^^^^^^^^^^^^^^^^^^
    return Popen(process_obj)
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\popen_spawn_win32.py", line 45, in __init__
           ^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\popen_spawn_win32.py", line 45, in __init__
    prep_data = spawn.get_preparation_data(process_obj._name)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 158, in get_preparation_data
    prep_data = spawn.get_preparation_data(process_obj._name)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 158, in get_preparation_data
    _check_not_importing_main()
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 138, in _check_not_importing_main
    _check_not_importing_main()
  File "C:\Users\BenDavisonPetch\miniconda3\envs\solver_platform\Lib\multiprocessing\spawn.py", line 138, in _check_not_importing_main
    raise RuntimeError('''
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.
    raise RuntimeError('''
RuntimeError:
        An attempt has been made to start a new process before the
        current process has finished its bootstrapping phase.

        This probably means that you are not using fork to start your
        child processes and you have forgotten to use the proper idiom
        in the main module:

            if __name__ == '__main__':
                freeze_support()
                ...

        The "freeze_support()" line can be omitted if the program
        is not going to be frozen to produce an executable.

SciPy/NumPy/Python version and system information
1.11.1 1.25.1 sys.version_info(major=3, minor=11, micro=4, releaselevel='final', serial=0)
lapack_armpl_info:
  NOT AVAILABLE
lapack_mkl_info:
  NOT AVAILABLE
openblas_lapack_info:
  NOT AVAILABLE
openblas_clapack_info:
  NOT AVAILABLE
flame_info:
  NOT AVAILABLE
accelerate_info:
  NOT AVAILABLE
atlas_3_10_threads_info:
  NOT AVAILABLE
atlas_3_10_info:
  NOT AVAILABLE
atlas_threads_info:
  NOT AVAILABLE
atlas_info:
  NOT AVAILABLE
lapack_info:
    libraries = ['lapack', 'blas', 'lapack', 'blas']
    library_dirs = ['C:/Users/BenDavisonPetch/miniconda3/envs/solver_platform\\Library\\lib']
    language = f77
blas_armpl_info:
  NOT AVAILABLE
blas_mkl_info:
  NOT AVAILABLE
blis_info:
  NOT AVAILABLE
openblas_info:
  NOT AVAILABLE
atlas_3_10_blas_threads_info:
  NOT AVAILABLE
atlas_3_10_blas_info:
  NOT AVAILABLE
atlas_blas_threads_info:
  NOT AVAILABLE
atlas_blas_info:
  NOT AVAILABLE
blas_info:
    libraries = ['cblas', 'blas', 'cblas', 'blas', 'cblas', 'blas']
    library_dirs = ['C:/Users/BenDavisonPetch/miniconda3/envs/solver_platform\\Library\\lib']
    include_dirs = ['C:/Users/BenDavisonPetch/miniconda3/envs/solver_platform\\Library\\include']
    language = f77
    define_macros = [('HAVE_CBLAS', None)]
blas_opt_info:
    define_macros = [('NO_ATLAS_INFO', 1), ('HAVE_CBLAS', None)]
    libraries = ['cblas', 'blas', 'cblas', 'blas', 'cblas', 'blas']
    library_dirs = ['C:/Users/BenDavisonPetch/miniconda3/envs/solver_platform\\Library\\lib']
    include_dirs = ['C:/Users/BenDavisonPetch/miniconda3/envs/solver_platform\\Library\\include']
    language = f77
lapack_opt_info:
    libraries = ['lapack', 'blas', 'lapack', 'blas', 'cblas', 'blas', 'cblas', 'blas', 'cblas', 'blas']
    library_dirs = ['C:/Users/BenDavisonPetch/miniconda3/envs/solver_platform\\Library\\lib']
    language = f77
    define_macros = [('NO_ATLAS_INFO', 1), ('HAVE_CBLAS', None)]
    include_dirs = ['C:/Users/BenDavisonPetch/miniconda3/envs/solver_platform\\Library\\include']
Supported SIMD extensions in this NumPy install:
    baseline = SSE,SSE2,SSE3
    found = SSSE3,SSE41,POPCNT,SSE42,AVX,F16C,FMA3,AVX2
    not found = AVX512F,AVX512CD,AVX512_SKX,AVX512_CLX,AVX512_CNL,AVX512_ICL

Looks like Windows platform based on the paths? I was, however, able to reproduce on MacOS with latest main as well.

The underlying issue is documentation.
The default parallelisation used by workers is multiprocessing.Pool. Remember that a few things are necessary with multiprocessing, https://docs.python.org/3/library/multiprocessing.html#the-spawn-and-forkserver-start-methods, see 'Safe importing of main module'.
The example, as given, won't run correctly from a notebook when spawn is used for starting the Pool. spawn is the default process starter used by on macOS and win. I think the example from the OP should work on Linux as the default start method is fork.
The following works from a standalone python script started from a CLI:
import scipy.integrate as integrate
import numpy as np

alpha = np.linspace(0, 10, 20)

def vector_func(x, *args):
    alpha = args[0]
    return x**alpha

if __name__ == '__main__':
    print(integrate.quad_vec(vector_func, 0, 2, workers=2, args=(alpha,)))

If you want to run the example from a notebook cell you need to do:
import scipy.integrate as integrate
import numpy as np
from vf import vector_func     # import vector_func from a separate python file

alpha = np.linspace(0, 10, 20)
print(integrate.quad_vec(vector_func, 0, 2, workers=2, args=(alpha,)))


Convert short open tags to full tags

Short open tag is discouraged since it is only available if enabled:
See https://secure.php.net/manual/en/language.basic-syntax.phptags.php
This PR may break other PRs that interact with this same files, so please consider if this is possible to integrate or not. I don't mind if this is rejected for that reason.
The <?php syntax is already used far more than the short one <?.
Also the the tag <?= is always available regardless of the short_open_tag ini setting since PHP 5.4. The chances of that ever being removed from PHP are by far low, so I didn't touch that.

Looks good. Thank you. I want to test this fairly carefully so it may be later in the day before you see it merged :)

No problem. Feedback is welcome :)
I've adapted the PR to the latest changes that were committed.

Found no issues. Thanks for the work :)


[4pt] Display missions - Lists render

Use useSelector() Redux Hook to select the state slices and render lists of  missions in corresponding routes. i.e.:

// get rockets data from the store
const rockets = useSelector(state => state.rockets);

You can style the whole application "by hand" or you could use React Bootstrap, a UI library that could speed up the process. This is a popular library and working with its components would be good practice.
Render a table with the missions' data (as per design).

https://github.com/inspecta/react-group-project-1/pull/32


Datasets

Hello, the work is very interesting, and i am very interested in your work. Could you share your  training dataset and validation dataset separately in experiments? Thanks!

Hello,
I don't currently have this information, but I'm reaching out to my colleagues to see if I can get that for you.


Have you finished Ensemble Training?

I don't have any plans to implement ensemble training at the moment, but I don't imagine it would be very difficult. I'd recommend checking with the authors of the paper.


Integration with Typescript (TSX)

I am trying to use pug in my Typescript React components like your basic example:
render() {
    return pug`
      div
        h1 My Component
        p This is my component using pug.
    `;
  }

The problem is that I can't get it to work because the typescript loader fails on the pug command.
However, to use babel, the Typescript files first have to be compiled to javascript. Can anyone help me get out of this Catch-22?

Does this plug support TSX?

You could add a definition file that declares declare const pug: any;, which would fix the typescript compiler, you need to make sure the "target" config of typescript includes template literals too.

Need help here. @ForbesLindesay Can you please give a snippet or example?

Just add declare const pug: any; to the top of any file that uses pug.

@ForbesLindesay
sorry, I get another problem like this:
./src/pages/A.tsx
Module parse failed: Unexpected token (34:19)
You may need an appropriate loader to handle this file type.
|         key: 'render',
|         value: function render() {
|             return
12234
;
|         }
|     }]);

file A.tsx
import * as React from 'react';

class A extends React.PureComponent {
  render() {
    return pug`
      div 12234
    `;
  }
}

export default A;

In my project
tsconfig.json target is es2015
.babelrc plugins is [ "transform-react-pug", "transform-react-jsx", "transform-runtime", "syntax-dynamic-import" ]
"transform-react-jsx" seems could not transform tsx.....
I tried to use google to solve the problem, but could not find the answer.Could you tell me how to deal with this?

U don't know what could be causing that. I've never seen it be an issue before. It looks more like a problem with babel, than typescript.

@ForbesLindesay Just adding declare const pug: any; on top of the file would surpass the tslint error. But at the time of compilation as in webpack below
{
            test: /\.tsx?$/,
            use: [
                {
                    loader: 'babel-loader',
                    options: babelOptions
                },
                {
                    loader: 'awesome-typescript-loader'
                }
            ],
            exclude: /node_modules/,
        },

It'll run the typescript loader first and when it doesn't find pug variable defined it throws an error at compile time only. That's the whole problem.

Never mind, it is working now.

@param-fk how you made it work! I am still stuck on the same error for the same reason

even i am stuck with same error please explain how you did this?

@param-fk please explain how you did this?

This is the problem I have encountered:
import { Header } from './components'

console.log(Header) // produce a side effect

export function Main(props) {
  return pug `
    Header
  `
}

It works just fine, but when I remove console.log(Header),
import { Header } from './components' is also be removed by Typescript.
Because the source code is through Typescript first and Typescript does not handle pug, the Header import is marked as an unused import.
Does anyone know how to solve this? Thx.

My suggestion would be to use babel to compile your TypeScript via https://babeljs.io/docs/en/babel-preset-typescript and use the typescript CLI just for type checking (by passing --noEmit)

This is the problem I have encountered:
import { Header } from './components'

console.log(Header) // produce a side effect

export function Main(props) {
  return pug `
    Header
  `
}

It works just fine, but when I remove console.log(Header),
import { Header } from './components' is also be removed by Typescript.
Because the source code is through Typescript first and Typescript does not handle pug, the Header import is marked as an unused import.
Does anyone know how to solve this? Thx.

Blocked by https://github.com/Microsoft/TypeScript/issues/9191

So would this mean that pug needs to be transformed before the typescript ?

So would this mean that pug needs to be transformed before the typescript ?

Yes, using a custom transformer so that it ends up being a valid JSX node and TS will be able to recognize this block of Pug code and the components as valid references, so that no elision is gonna happen

I publish a library to solve this problem.
https://www.npmjs.com/package/webpack-preprocessor-pug-tsx

trying to get expo / react-native / typescript / pug to work
having a hard time...

We should include wisdom from this thread in the README


<EMAIL_ADDRESS>has incorrect peer dependency "<EMAIL_ADDRESS>|| ^11.0.0 || ^12.0.0".

New issue for cloudinary/frontend-frameworks
Before proceeding, please update to the latest version and test if the issue persists
For which package is this issue?
@cloudinary/ng
Describe the issue in a sentence or two.
Bump peer dependencies

Hi @bjornharvold,
Thanks for reporting this.
We will release a new version with a fix for this. I will keep you posted on this thread.

@michalkcloudinay Thanks for being on top of this. I'm afraid I don't understand dependencies and versions well enough to comment, here, however is this related?
ng build

Generating browser application bundles (phase: setup)...Warning: Entry point '@cloudinary/ng' contains deep imports into '/usr/src/app/node_modules/@cloudinary/url-gen/assets/CloudinaryImage'. This is probably not a problem, but may cause the compilation of entry points to be out of order.
Processing legacy "View Engine" libraries:

@cloudinary/ng [es2015/esm2015] (https://github.com/cloudinary/frontend-frameworks)
Encourage the library authors to publish an Ivy distribution.

Hi @Ryders
You can find this issue reported here: https://github.com/cloudinary/frontend-frameworks/issues/113

Hi @bjornharvold, we released a new version of the SDK (1.4.2) with a fix for this issue.
Please let us know if you have any further issues.
Thanks


encode html entitites

Fixes https://github.com/tmobile/loadtest/issues/10
Does not add new dependencies and tests are green.

I have a question on this one. Is the list of symbols you have to encode sufficient? I think in theory there are more than that--I remember dealing with this problem before and using the textutils package for it (see here). That said, I like that your code doesn't have any dependencies so if that means we don't get every possible symbol that's probably fine. If you could just think about it that would be great!

I tried textutils first during debugging. In https://github.com/tmobile/loadtest/issues/10 I posted the results of pasting every symbol my ANSI keyboard reasonably writes and JMeters doesn't seem to care about all of them, only the ones I encoded. I remember JMeter actually complained when I encoded everything 🤷
Sorry TL;DR: I choose this encoding based on what JMeter does, so it should be safe.


Add favicon icon to website

To make our site look more professional, we should add a favicon icon to the webserver.
More infos:
https://de.wikipedia.org/wiki/Favicon
Maybe it is enough to place the file at this location:
/var/www/html/favicon.icon

Thx, done


Issue with using end of in an interval operator phrase in 1.4.5-SNAPSHOT

using the following CQL:
define "test":
  ["Encounter, Performed"] e
    where e.relevantPeriod 3 years or less before
    end of "Measurement Period"

I am receiving the error: Error:[17:9, 17:10] Could not resolve identifier of in the current library..
This statement has successfully translated in prior versions of the translator.
It appears that the parser is not recognizing the time boundary operator on the right hand side of the interval operator phrase expression. Here is the parse tree:

Confirmed the issue, working on a root cause now.


Add API "APM" checking

Add a simple actions per minute check to the API. Store APM per ID and IP in APCu, with (as the name suggests) an expiration of 1 minute. Every API call, increment this by 1.
At this point don't do anything with it. We need to first see what average usage looks like. In the future this should be useful for detecting bottlenecks, and attempts at abusing or DOS attacking the API.
Jam locations tend to use the same IP, so any sort of throttling would have to offer a way of whitelisting IPs. Users however don't need special cases (we just have to be generous).
Off hand though, I would expect users to fall under 100 APM. Until local caching is in place though, we're making a lot of wasted API calls.

Logins should also be rate limited, But the restrictions should be more severe (Account locking, warning emails rather than just not responding)

Related to #1285


Make it possible to use .slather.yml on slather action

Fixes https://github.com/fastlane/fastlane/issues/4372
I'm not a big fan of the tests creating a file in the local dir, but haven't found a better way here.

Looks great, thanks. I added one comment before it's ready 🚀

@KrauseFx that expect block actually was hiding an exception 😱
I fixed it. After your 👍, I'll squash again these commits.

Looks great, thanks 👍


Update stable version in repo from 1.2.0 to 1.2.1

Think about update stable version to 1.2.1
Version: stable=1.2.0 (72 days old) => latest=1.2.1 (15 days old)
Installs: stable=109 (63.01%), latest=24 (13.87%), total=173
Click to use developer portal
Click to edit
Do not close this issue manually as a new issue will be created if condition for update still exists.
Please drop a comment if any reason exists which blocks updating to version 1.2.1 at this time.
Note: This is an automatically generated message and not personally authored by bluefox!
@mcm1957 for evidence

wait for 1.3.0


CookieUseSlidingExpiration do not renew the cookie properly

From @daboul on September 14, 2016 8:20
Hi. I'm a little bit stuck here, any help would be greatly appreciated (first post on SO, sorry if I'm doing something wrong).
I managed to use the ASP.NET Core CookieAuthentication to create different cookie per route. If I call http://host/API/moduleName1/login it will create a authentication cookie with a path set to /API/moduleName1 that will be used to authenticate a user only for calls under this path. To do that, I plugged myself on the SigningIn event and hacked the cookie path.
My Configure() code:
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
    AuthenticationScheme = "...",
    CookieName = "...",
    AutomaticAuthenticate = true,
    AutomaticChallenge = true,
    CookieHttpOnly = false,
    ExpireTimeSpan = userSettingsConfig.Value.CookieExpireTimeSpan,
    SlidingExpiration = userSettingsConfig.Value.CookieUseSlidingExpiration,
    Events = new CookieAuthenticationEvents
    {
        OnSigningIn = CustomAuthenticator.SigningInAsync,
        OnSigningOut = CustomAuthenticator.SigningOutAsync,
    }
});

And my customisation:
public static class CustomAuthenticator
{
    public static async Task SigningInAsync(CookieSigningInContext context)
    {
        string controller = context.HttpContext.GetRouteValue("controller").ToString();
        string moduleName = context.HttpContext.GetRouteValue("moduleName").ToString();
        context.CookieOptions.Path = context.HttpContext.Request.PathBase + "/" + controller + "/" + moduleName;
    }

    public static async Task SigningOutAsync(CookieSigningOutContext context)
    {
        string controller = context.HttpContext.GetRouteValue("controller").ToString();
        string moduleName = context.HttpContext.GetRouteValue("moduleName").ToString();
        context.CookieOptions.Path = context.HttpContext.Request.PathBase + "/" + controller + "/" + moduleName;
    }
}

It worked well for a while, but then, playing with the cookie ExpireSpan set to 1 minute I discovered something annoying.
When I log myself in, I get something very logical:a session cookie with a properly set cookie path: '/API/PLENG'
But after a while, if I remain active, because of the CookieUseSlidingExpiration set to true, the middleware decide to renew my cookie and here is what I get: A second cookie with a cookie path set to '/'. Instead of renewing my cookie properly, the middleware created a new one that is completely messing with my design.

So I get that it's kind of my fault for having hacked the system, but I can't live without this Sliding Expiration mechanism and I'm left with no idea right now.
an someone tell me how I should have done that in the first place (instead of hacking the cookie path)? Would you call this Sliding Expiration = true behavior buggy here?
Thanks.
Copied from original issue: aspnet/Home#1756

This seems like the sort of issue that should be solved at the authorization policy layer, not at the cookie layer. @HaoK ?

Ping @Tratcher can you add some further thoughts to this?

The path is not available during a refresh. the initial path is set from CookieAuthOptions.Path but then you're overriding it in an event. The value is sent to the client but they do not send it back on the request.
The best we can do here is add an event for sliding expiration renewals, but it's unclear how you would preserve the paths for that code path.
Also note that you can't depend on the client browser to properly enforce Path. Anything security critical must be encoded in the cookie itself and validated on the server.

This event would go in FinishResponseAsync. Recommend this go in backlog until 2.0, adding events right now requires breaking interface changes.

Closing because we are not planning to implement this.


Update data init - also for non conditional resources

Now it is also possible to use the data-init property without the data-resource property.
In addition to that I moved the init call to another file.
So now it is more obvious for the loading order:
ffglobal.configuration.get('initCore')();
ffglobal.configuration.get('initElementFunctions')();

@timomayer the main.js needs it, so i think it should be before main.js, right?

sorry missed that you are still calling it in main.hs thought it is self executing. all fine!

@timomayer it is not self executing, just setting the initFunction in the global config is self executing


added container security context. Added resources for initsysctl cont…

Hi,
Thanks for providing the great chart.
We have a conftest in place to verify charts that we deploy and these policies were causing our conftest to fail.
I made the changes to conform to these policies.
Changes made:
Added security context for init containers
Added container security context for sonarqube
Added resource limits for initsysctl container
Added labels from: https://kubernetes.io/docs/concepts/overview/working-with-objects/common-labels/

Looks good. Please merge in the latest master branch and increment the Chart.yaml and then we can merge it.


fix: C01, C02, M01, M04 and M07

Fixes L02, M01, M04, M05, M07, M08, C01, C02,
TODO

[ ] fix rest of issues

added fixes for M5 and M8 cc @rrecuero


[FEATURE] Allow sockproxy configuration for OpenVPN

From #1600 allow to configure a sock proxy for OpenVPN clients/servers would be useful.

timeout due to inactivity


WIP: Move Housing Counselor tool from legacy app into its own app

Create a project within cfgov-refresh to encapsulate all code related to the Find A Housing Counselor tool. This should not change anything about the look or functionality of FAHC; it is only a back-end organizational refactor.
I'm definitely open to feedback on naming conventions, file structure, and anything else.
Note: I'm opening this PR (from the cfpb fork) to replace #4618 (which came from my fork) so it's easier for @anselmbradford to add commits and collaborate.
Changes

Move all HUD/Housing Counselor code from legacy into a new app called housing_counselor

Todos

@anselmbradford will move static files associated with the HUD tool to the appropriate place. The files listed below will go in cfgov/unprocessed/apps/find-a-housing-counselor/, and their built versions in cfgov/static_built/apps/find-a-housing-counselor EDIT: The files were actually outdated and unused, so I deleted them.
Question: The management commands do not have automated specs. What do we need to do to ensure my changes don't break these?

Checklist

[x] PR has an informative and human-readable title
[x] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the development playbook
[ ] Passes all existing automated tests
[x] Any change in functionality is tested
[x] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated
[ ] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist
Browsers

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Internet Explorer 8, 9, 10, and 11
[ ] Edge
[ ] iOS Safari
[ ] Chrome for Android

Accessibility

[ ] Keyboard friendly
[ ] Screen reader friendly

Other

[ ] Is useable without CSS
[ ] Is useable without JS
[ ] Flexible from small to large screens
[ ] No linting errors or warnings
[ ] JavaScript tests are passing

Unfortunately we currently have a whitelist (undocumented) of our "first party" apps for isort, maintained here. Any new app should probably go into this list, unless there's a nicer way to avoid needing to do this? (ping @willbarton)

@chosak @schbetsy I don't think there's a better way to do it if we want to maintain the distinction between our first-party apps and others.

@anselmbradford Turns out the styles in /nemo/ for this tool weren't even being used. All of the actual styles for the housing counselor page are in housing_counselor/static/hud/ now. I deleted the following, and it seems to be working as usual:

cfgov/legacy/static/nemo/_/c/hud-hca-api-pdf-style.css
cfgov/legacy/static/nemo/_/c/hud-hca-api-print-style.css
cfgov/legacy/static/nemo/_/c/styles.css lines 2476 - 2733

Thanks @chosak and @willbarton. Good to know. I made that change in fbe3265.


Adopt and enforce new WPCliCS standard

We have a new PHPCS standard for WP-CLI called WPCliCS (props @jrfnl). It is part of the wp-cli/wp-cli-tests package starting with version v2.1.0.
To adopt & enforce this new standard, the following actions need to be taken for this repository:

[ ] Create a PR that adds a custom ruleset phpcs.xml.dist to the repository

Add phpcs.xml.dist file
Adapt .distignore to ignore phpcs.xml.dist & phpunit.xml.dist
Adapt .gitignore to ignore phpunit.xml, phpcs.xml & .phpcs.xml
Require version ^2.1 of the wp-cli/wp-cli-tests as a dev dependency

[ ] Make any required changes to the code that fail the checks from the above ruleset in separate PRs

[ ] Merge thre ruleset once all required changes have been processed and merged

A sample PR for a simple repository can be seen here: https://github.com/wp-cli/maintenance-mode-command/pull/3/files

See the draft PR #156 for a list of the remaining issues which still need to be fixed.


docs(tutorial): cosmwasm contract + module

Summary
Building a cosmwasm contract that gets data from the SDK and passed over. Very useful skill, no one has docs on it. Adds unique
TODO

[x] Cleanup
[x] Add actual explanations
[x] Simplify as much as possible
[x] Tested on MacOs

LGTM thank you me


Serial driver migration to DT

@anangl @ioannisg @carlescufi : please take a look

Codecov Report

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

@@           Coverage Diff           @@
##           master    #8847   +/-   ##
=======================================
  Coverage   52.32%   52.32%
=======================================
  Files         195      195
  Lines       24730    24730
  Branches     5140     5140
=======================================
  Hits        12941    12941
  Misses       9715     9715
  Partials     2074     2074

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 f733da8...7d28a65. Read the comment docs.

Fixed


Review "Fix the return type for files read from gzip archives" PR in urlzsource repo

The Hyve have submitted a pull request (#1) in the urlzsource repo.
@cmalangone will review the PR and test the changes across repos that use urlzsource library once the 20.02 release has been pushed to production.

Thanks @andrewhercules

Due to challenges with LINK updates, I have moved this to the next sprint

@mbdebian can you have a quick look at this old ticket for any pending actions?

The repository this ticket refers to has been archived and made read-only.
Last interaction around the reported bug and submitted PR was on June 2020, I will close this ticket as it's unlikely to be a pressing issue, in which case, a new case can be made about it within the current context (please, take into account that many changes have happened in Open Targets software ecosystem since 2020).


Improving the exception handling pattern and Logging

In my project I'm taking out only a portion of code (Mainly Bot.cs and TradeOffer). Thanks to the good modular design I was able to do this with almost no changes to codes that's not mine. However some codes are handling exceptions that they cannot actually handle, and are attempting to use Log to record them.
Examples are:
public OfferResponse GetTradeOffer(string tradeOfferId)
        {
            string options = string.Format("?key={0}&tradeofferid={1}&language={2}", apiKey, tradeOfferId, "en_us");
            string url = String.Format(BaseUrl, "GetTradeOffer", "v1", options);
            try
            {
                string response = steamWeb.Fetch(url, "GET", null, false);
            var result = JsonConvert.DeserializeObject<ApiResponse<OfferResponse>>(response);
            return result.Response;
            }
            catch (Exception ex)
            {
                //todo log
                Debug.WriteLine(ex);
            }
            return new OfferResponse();
        }

public OffersResponse GetActiveTradeOffers(bool getSentOffers, bool getReceivedOffers, bool getDescriptions, string language = "en_us")
        {
            if (!getSentOffers && !getReceivedOffers)
            {
                throw new ArgumentException("getSentOffers and getReceivedOffers can't be both false");
            }

            string options = string.Format("?key={0}&get_sent_offers={1}&get_received_offers={2}&get_descriptions={3}&language={4}&active_only={5}",
                apiKey, BoolConverter(getSentOffers), BoolConverter(getReceivedOffers), BoolConverter(getDescriptions), language, BoolConverter(true));
            string url = string.Format(BaseUrl, "GetTradeOffers", "v1", options);
            string response = steamWeb.Fetch(url, "GET", null, false);
            try
            {
                var result = JsonConvert.DeserializeObject<ApiResponse<OffersResponse>>(response);
                return result.Response;
            }
            catch (Exception ex)
            {
                //todo log
                Debug.WriteLine(ex);
            }
            return new OffersResponse();
        }

private T RetryWebRequest<T>(Func<T> webEvent)
        {
            for(int i = 0; i < WEB_REQUEST_MAX_RETRIES; i++)
            {
                //Don't make any more requests if the trade has ended!
                if (HasTradeEnded)
                    return default(T);

                try
                {
                    T result = webEvent();

                    // if the web request returned some error.
                    if(!EqualityComparer<T>.Default.Equals(result, default(T)))
                        return result;
                }
                catch(Exception ex)
                {
                    // TODO: log to SteamBot.Log but... see issue #394
                    // realistically we should not throw anymore
                    Console.WriteLine(ex);
                }

                if(i != WEB_REQUEST_MAX_RETRIES)
                {
                    //This will cause the bot to stop responding while we wait between web requests.  ...Is this really what we want?
                    Thread.Sleep(WEB_REQUEST_TIME_BETWEEN_RETRIES_MS);
                }
            }

            return default(T);
        }

When you are using the bot as-is they won't cause any trouble. But for someone like me, eating the exceptions is really a bad idea.
Also, I took a look at the Log.cs and found it very unnecessary when .NET framework comes with a very powerful TraceSource and DebugSource. we can replace Log with TraceSource so that the SteamTrade library can log errors without adding Log as a dependency.
Actually i'm changing the source code in my project to meet my needs. If you think such changes are necessary I can create a pull request when I have time.

What is your idea in opposite to "eating the exceptions" ?

my idea is to throw an exception when an error occurs. and they can all be handled somewhere(whoever called them) with the opportunity to show an error message dialog or implement a retry.

This is an example
/// Get Trade Offer by ID.
        /// <exception cref="System.Net.WebException">Network related problem.</exception>
        /// <exception cref="ArgumentNullException">tradeOfferId is null</exception>
        /// <exception cref="JsonException">Invalid server's response.</exception>
        public TradeOffer GetOffer(string tradeOfferId)
        {
            if (tradeOfferId == null)
                throw new ArgumentNullException(nameof(tradeOfferId));
            var resp = webApi.GetTradeOffer(tradeOfferId);
            if (IsOfferValid(resp.Offer))
            {
                return new TradeOffer(session, resp.Offer);
            }
            else
            {
                throw new TradeException("Offer returned from steam api is not valid : " + resp.Offer.TradeOfferId);
            }
        }

        /// Get Trade Offer by ID.
        /// <exception cref="System.Net.WebException">Network related problem.</exception>
        /// <exception cref="ArgumentNullException">tradeOfferId is null</exception>
        /// <exception cref="JsonException">Invalid server's response.</exception>
        public bool TryGetOffer(string offerId, out TradeOffer tradeOffer)
        {
            tradeOffer = null;
            var resp = webApi.GetTradeOffer(offerId);
            if (resp != null)
            {
                if (IsOfferValid(resp.Offer))
                {
                    tradeOffer = new TradeOffer(session, resp.Offer);
                    return true;
                }
                else
                {
                    //todo: log steam api is giving us invalid offers.
                    Debug.WriteLine("Offer returned from steam api is not valid : " + resp.Offer.TradeOfferId);
                }
            }
            return false;
        }

///
        /// Get trade offer by ID.
        ///
        /// <param name="tradeOfferId">Trade Offer ID</param>
        /// <returns>A <see cref="OfferResponse"/> containing descriptions and <see cref="TradeOffer"/></returns>
        /// <exception cref="System.Net.WebException">Network related problem.</exception>
        /// <exception cref="ArgumentNullException">tradeOfferId is null</exception>
        /// <exception cref="JsonException">Invalid server's response.</exception>
        public OfferResponse GetTradeOffer(string tradeOfferId)
        {
            if (tradeOfferId == null)
                throw new ArgumentNullException(nameof(tradeOfferId));
            string options = string.Format("?key={0}&tradeofferid={1}&language={2}", apiKey, tradeOfferId, "en_us");
            string url = String.Format(BaseUrl, "GetTradeOffer", "v1", options);
            //try
            //{
            string response = steamWeb.Fetch(url, "GET", null, false);
            var result = JsonConvert.DeserializeObject<ApiResponse<OfferResponse>>(response);
            return result.Response;
            //}
            //catch (Exception ex)
            //{
            //    //todo log
            //    Debug.WriteLine(ex);
            //}
            //return new OfferResponse();
        }

My project isn't a console application so simply returning a bool indicating success is not enough. So I changed the original one to TryGetOffer and created a new GetOffer method. and this is how I call it.
public ICommand AcceptTradeOffersCommand => new AsyncCommand<string>(AcceptTradeOffers);
        private async Task AcceptTradeOffers(string offerId)
        {
            retry:
            try
            {
                var offers = await Task.Run(() => manager.GetOffer(offerId));
                //....
            }
            catch(Exception ex)
            {
                if(GetService<IMessageBoxService>().ShowMessage("An errror occurred while accepting trade offers: " + ex.Message + "\r\n\r\nDo you want to retry?", "Error", MessageBoxButtons.YesNo, MessageBoxImage.Error) == MessageBoxButton.Yes)
                goto retry;
            }
        }


Feat/dbless kong

Add support to run Kong without a database for the Ingress use-case.
Configuration in k8s now the single source of truth for Kong's
configuration.
The configuration is parsed in the same way and is sent
to /config endpoint instead of using decK to sync to a database.
The deployment model should be to run an Ingress Controller for every
Kong pod.
See #244

@hbagdi When we can expect some documentation about this feature?
thanks

@MilanDasek This feature is currently merged in but not yet released. Next release of Kong Ingress Controller, which will have this feature, will be out in a couple of weeks. Stay tuned!


Uses kops base url for kops test runs

Issue #, if available:
Description of changes:
We have uploaded all the artifacts pulls from upstream along with our custom build of nodeup to get around the flannel issue in 1.23.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/approve


Moved away from gulp to npx + postcss

This PR changes the build system for a simpler one, using only npx as a runner and postcss to process all the files.
Although we were considering Rollup as the runner for building out animate.css, after a few tries I felt it would be more complex than our needs, so I played with postcss and npx and it got much simpler.
There's still room for improvement (a watch task, hooks for building when commit and so on) and more tests to be done, but everything that worked before is working now, with less dependencies and half the code.

Solves #618
Solves #836
Also solves #758 just for fun ;P

Is the development still active? Can I add some feature request here? @eltonmesquita

Yep! Feel free to propose new features.


StarkNet events bloom filter

Is your feature request related to a problem? Please describe.
Filtering events for a contract that doesn't emit many events is not as fast as it could be.
Describe the solution you'd like
The StarkNet service should compute bloom filters for smart contract events (similar to how full nodes do). This filter should be used when searching for events to quickly skip blocks that won't generate any event.
Describe alternatives you've considered
NA
Additional context
The implementation will create a bloom filter for each block and store its byte content in the block body table. When the filtered stream is asked to retrieve an event, the filter will first do a fast check on the block's bloom filter to check whether the block contains any event for the requested contract. If it doesn't, it moves on to the next block. Only if the bloom filter contains the event then the filter will scan all transaction receipts for the event.

Completed in #85


Allow toggling the visibility of GUIs by blinking

I reused some code I had for the gaze control. Hence, the modifications are a bit consistent

The PR is ready to be reviewed, I have tested it with the robot

@GiulioRomualdi if you agree I would merge

Yes merge it


refactor: user-defined types in solidity

Time can be a bit of a pain in the neck to keep track of when there are multiple notations and they are all uint256. Therefore we should try out using user defined types for timestamps, slot numbers and epochs numbers, to see if it improves readability

Closed by https://github.com/AztecProtocol/aztec-packages/pull/8841


MG parameters in CosmologyCalculator

Closes #976 . MG tracers use sigma_0 to compute the modified gravity factor for the transfer function. Just this parameter is needed, but I added mu_0 as well for completeness. Might be worth thinking about whether it's worth also adding c1_mg, c2_mg and lambda_mg.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.06%) to 97.563%

Totals

Change from base Build<PHONE_NUMBER>:
0.06%

Covered Lines:
4845

Relevant Lines:
4966

💛  - Coveralls


workflows: add radio check workflow

Adds a Github Actions workflow that performs a health check of music streams contained in file txt/radio-stations.txt. It basically cURLs links extracted from the file and returns non-zero exit code if obtains erroneous response from any of them.
Job should run every first day of the month at 13:37 as well as upon pushing/PRing txt/radio-stations.txt file or workflow file itself. It can be also triggered manually at any time.
Demo run:
https://github.com/mard/dotfiles-1/actions/runs/291041914
Successful run:
https://github.com/mard/dotfiles-1/runs/1212785860

Very creative way of using GH actions

Demo run with fixed formatting
https://github.com/mard/dotfiles-1/actions/runs/291078468/workflow


No way to pass config file path via an env variable

The problem faced currently?
When using docker, it gets difficult to change the default config file path.
How can we solve it?
Lets take this via an env variable as well.

If you want this feature to be implemented, give it a thumbs up reaction, so that we can determine which features are important to you.
👍

Resolved in v0.13.1


test.sh does not run extensions/git unit tests

I tried running the unit tests locally and it seems to not run them. I have to manually do ./node_modules/mocha/bin/mocha from the git directory. I see some special casing for specific extensions in scripts/test-integration.sh. Just pointing this out, since this implies they are not run on CI.

To keep the number of issues in our inbox on a manageable level, we're closing issues that have been on the backlog for a long time but haven't gained traction: We look at the number of votes the issue has received and the number of duplicates issues filed.
Thanks for your understanding. Happy coding!


Remove intermediate states copying in Mllama

This change removes unnecessary copying of intermediate hidden states at that end of first encoder's transformer forward, by putting hidden states into prelocated tensor.

Closing this PR as I created one to native vllm : https://github.com/vllm-project/vllm/pull/11295


Update MockData.cfc

Added "guid" which inserts a "-" at position 23 in createuuid() and makes the whole thing lowercase. Helpful when id properties are being checked by length (36 for MSFT guids vs 35 for Adobe uuids)

Hi @lmajano,
I got wrapped up with client work and am now revisiting. I have no idea what I did (or could have done) but the test build for the PR is failing. The test for the guids is simple enough and is passing on my system.
I do have one general question - if there are tests accompanying at coldbox module, is it expected that you can run those tests directly from the modules/{modulename}/tests or in this case, /test-harness? If so what is the route? I've been pulling them over to main /tests/specs folder to run them but is that the expected approach?
Anyway, I'd love any guidance on what to do next since the test harness I've made for eCivis has the guid test throughout it.

@djcard I have refactored the project to use now github actions. I think that travis was hosed.  Can you rebase and try again please.

merged manually to avoid conflicts


add 3dof head for cob4-1 within simulation only

superceeds #413

adds default_robot_behaviour to simulation
fixes head poses

so according to @ipa-nhg's comment, parameters with the name X_button where X is a component that does not exist for the respective robot are not needed....
this is also the case for e.g. raw's....they have minimall teleop.yaml with just the buttons needed for base
thus, one last question for this PR:
should we "clean up" the teleop.yaml for cob's so that parameters X_button are removed in case component X is not part of the robot?
I also added a bullet to issue https://github.com/ipa320/cob_command_tools/issues/112 regarding "component name"-independent parameter names...

+1 for cleaning up unused button parameters, but in a separate PR --> see issue #416
+1 for merging this one

FR: OK


Merge PR branches fast forward into their target branches before testing

Fixes #12
I'm not sure if this really works.
In a few lines above in this file the Github Pull Request Builder
variable is written with double curly braces and I don't know why:
${{ghprbActualCommit}}

lgtm, merge it!


Home Page task Completed

@RitwikSingh28  Sir , @rani620 Ma'am Kindly review the PR.
File Changed : -
pages->home_page.dart,
widgets->class_component.dart,ovel_datebutton.dart.
pubspec.yaml-> font_awesome_flutter.
helpers-> media_query.dart
As of now most part is hardcoded and routing is not added because those pages haven't created yet.
Here The ScreenShot Is Provided :

Looks good merging into main


 This is
inconsistent from call> operator which seems unexpected. With this
change, require> operator fails if dependent session is done with
success=false flag. This happens if the latest attempt of the session fails,
or is canceled.
This change also adds ignore_failure option to require operator so
that users can still make the workflow succeeded even when dependent
workflow fails.

👍


[dashboard] /api/public/build-status returned 500

The dashboard is currently broken:
An error occured fetching tree status from Cocoon: /api/public/build-status returned 500
An error occured fetching build statuses from Cocoon: Invalid argument(s): Illegal to set field isFlaky (8) of Task to value (null): not type bool

The win_tool_tests Task entities have Flaky=null in the datastore, and that is causing this error. /cc @godofredoc @keyonghan

I have manually set Flaky=false for those entities in datastore.

The dashboard is recovered.

We are still missing proper fixes:

This config problem should have been discovered on presubmit.
The code creating the the model should be adding false by default if the field is mandatory.

@keyonghan As you added the config file and the presubmit for it, do you have some ideas on addressing the above comment?

This config problem should have been discovered on presubmit.
presubmit does not support isFlaky flag. May not be suitable to catch the issue.
The code creating the the model should be adding false by default if the field is mandatory.
https://github.com/flutter/cocoon/blob/master/app_dart/lib/src/request_handlers/refresh_github_commits.dart#L206

Moved out of ticket queue as the immediate issue is fixed, and the last comment needs a few days to address.


How to add comment UI to editor

Hello, I am a VSCode extension developer. Your extension is awesome and I am wondering that how to attach the comment UI to an editor, like

as far as I know, VSCode does not allow extensions to change the UI. I am quite curious about how to do it.
Thanks if you can help!

Hi @HaoboGu, this extension uses the Comment API to do this. There's an example of this to get started with here: https://github.com/microsoft/vscode-extension-samples/tree/master/comment-sample

@RMacfarlane  Thanks very much!


ci - add pyright test workflow

:tada: This issue has been resolved in version 0.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


All nodes close when something changes

Hi, when a doc changes and the tree is updated, all the nodes that were open are instantly closed, how can I fix this issue ?

We'll fix it ASAP.


BC Ukrainian content: Finding a place to rent

See a phrase in EN 'Search for "Find a place to live"', expected to see in UK 'Шукайте "Find a place to live"' (google translated).
See also topic "Driver's license", near the bottom is an example of the same "Search for "bla"" instruction, with probably a better UK translation than my google translate, "шукайте за словами «Driver licensing»"

Dupe of #1901